テキスト ボックスの値に基づいてデータベース テーブルを更新しようとしていますが、データベースで新しい変更された値を取得できません。
データベースからのテキストボックスに情報を表示する私のコードは次のとおりです
protected void Info()
{
string sID = Request.QueryString["ID"];
string sSql = "select * from [fn_Items]('"+sID+"')";
DataTable tbl1 = new DataTable();
string sEr = myClass.FillupTable(sSql, ref tbl1);
if (tbl1.Rows.Count > 0)
{
DataRow rd = tbl1.Rows[0];
txtName.Text = rd["Name"].ToString();
txtCategory.Text = rd["Category"].ToString();
DateTime mStart;
DateTime mFinish;
Boolean b = false;
b = DateTime.TryParse(rd["start"].ToString(), out mStart);
b = DateTime.TryParse(rd["end"].ToString(), out mFinish);
txtStart.Text = mStart.ToString("dd-MMM-yyyy");
txtend.Text = mFinish.ToString("dd-MMM-yyyy");
txtDescription.Text = rd["Description"].ToString();
}
}
ユーザーがテキスト ボックスのデータを変更して [保存] をクリックすると、データベース内のデータが変更されます。ここに私のclick_eventがあります:
protected void btnSave_Click(object sender, EventArgs e)
{
using (SqlConnection sqlConn = new
SqlConnection("Data Source=MSSQLSERVER2008;Initial Catalog=Items_2;Persist Security Info=True;User ID=sa;Password=password"))
{
string query = "UPDATE tbl_Items SET Name = @Name,Category=@Category,start = @start, end = @End,Description = @Description where ID = @ID ";
SqlCommand cmd = new SqlCommand(query, sqlConn);
cmd.Parameters.AddWithValue("@ID",txtID.Text);
cmd.Parameters.AddWithValue("@Name", txtName.Text);
cmd.Parameters.AddWithValue("@Category", Category.Text);
cmd.Parameters.AddWithValue("@start", txtStart.Text);
cmd.Parameters.AddWithValue("@end",txtend.Text);
cmd.Parameters.AddWithValue("@Description", txtDescription.Text);
cmd.Connection.Open();
try
{
cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
throw new Exception("Error " + ex.Message);
}
}
ここで更新中に、テキストボックスで、変更された値を取得する必要があるデータベースに存在する値を取得しています。代わりに、変更された値を取得するにはどうすればよいですか?