以下のコードを page_load で実行しています
using (SqlConnection conn = new SqlConnection("myconnectionString"))
{
conn.Open();
using (SqlCommand cmmnd = new SqlCommand("", conn))
{
cmmnd.CommandText = "SELECT * FROM addsetting;";
SqlDataReader rdr = cmmnd.ExecuteReader();
while (rdr.Read())
{
count++;
param = Convert.ToString(rdr["rowno"]);
TextBox1.Text = Convert.ToString(rdr["tostudent"]);
TextBox2.Text = Convert.ToString(rdr["tofaculty"]);
TextBox3.Text = Convert.ToString(rdr["studentday"]);
TextBox4.Text = Convert.ToString(rdr["facultyday"]);
TextBox5.Text = Convert.ToString(rdr["firstweek"]);
TextBox6.Text = Convert.ToString(rdr["secondweek"]);
TextBox7.Text = Convert.ToString(rdr["thirdweek"]);
}
rdr.Close();
}
conn.Close();}
このフォームに入力した後、値を変更して「保存」ボタンを表示します。
不思議なことに、Button2_Click で、テキスト ボックスから編集した値にアクセスしようとすると、新しい値が取得されません。テキストボックスに古い値が含まれています。
テキストボックスに編集された値がない理由。
以下は、値にアクセスするために使用しているコードです。
using (SqlConnection conn = new SqlConnection("myconnectionstring"))
{
conn.Open();
using (SqlCommand cmd = new SqlCommand("", conn))
{
cmd.Parameters.Add("@rowno", SqlDbType.VarChar).Value = param;
cmd.Parameters.AddWithValue("@tostudent", TextBox1.Text);
cmd.Parameters.AddWithValue("@tofaculty", TextBox2.Text);
cmd.Parameters.AddWithValue("@studentday", TextBox3.Text);
cmd.Parameters.AddWithValue("@facultyday", TextBox4.Text);
cmd.Parameters.AddWithValue("@firstweek", TextBox5.Text);
cmd.Parameters.AddWithValue("@secondweek", TextBox6.Text);
cmd.Parameters.AddWithValue("@thirdweek", TextBox7.Text);
cmd.CommandText = "UPDATE addsetting SET tostudent=@tostudent,tofaculty=@tofaculty,studentday=@studentday,facultyday=@facultyday,firstweek=@firstweek,secondweek=@secondweek,thirdweek=@thirdweek WHERE rowno=@rowno";
cmd.ExecuteNonQuery();
}
conn.Close();