Как я могу редактировать данные после чтения из базы данных? - PullRequest
0 голосов
/ 29 ноября 2011

Я читаю некоторые данные из таблицы, после чего хочу их редактировать, а затем вставляю отредактированные данные в базу данных. Я написал этот код, но после его запуска старые данные вставляются в базу данных.

Что мне делать?

Вот мой код;

protected void Page_Load(object sender, EventArgs e)
{
       SqlCommand cmd = new SqlCommand();
   cmd.Connection = new SqlConnection(Class1.CnnStr);
   SqlDataReader reader;


   cmd.CommandText = "select ChequeNo,ChequeDate from table where Number=@Number";
   cmd.Connection.Open();
   cmd.Parameters.AddWithValue("@Number", Number_lbl.Text);
   reader = cmd.ExecuteReader();

   if (reader.Read())
   {

       ChequeNo_txt.Text = reader["ChequeNo"].ToString();
       ChequeDate_txt.Text = reader["ChequeDate"].ToString();
       reader.Close();
   }
   cmd.Connection.Close();
}

protected void SAVE_bt_Click(object sender, EventArgs e)
{
    SqlCommand cmd1 = new SqlCommand();
    cmd1.Connection = new SqlConnection(Class1.CnnStr);

    cmd1.Connection.Open();
    cmd1.Parameters.AddWithValue("@Number", Number_lbl.Text);
    cmd1.CommandText ="update table set chequeNo=@ChequeNo,ChequeDate=@ChequeDate 
     where Number=@Number";

    cmd1.Parameters.AddWithValue("@ChequeNo",ChequeNo_txt.Text);
    cmd1.Parameters.AddWithValue("@ChequeDate", ChequeDate_txt.Text);
    cmd1.ExecuteNonQuery();

}

1 Ответ

2 голосов
/ 29 ноября 2011

Вы должны только читать из базы данных, если !Page.IsPostback:

if (!IsPostBack)
   SqlCommand cmd = new SqlCommand();
   cmd.Connection = new SqlConnection(Class1.CnnStr);
   SqlDataReader reader;


   cmd.CommandText = "select ChequeNo,ChequeDate from table where Number=@Number";
   cmd.Connection.Open();
   cmd.Parameters.AddWithValue("@Number", Number_lbl.Text);
   reader = cmd.ExecuteReader();

   if (reader.Read())
   {

       ChequeNo_txt.Text = reader["ChequeNo"].ToString();
       ChequeDate_txt.Text = reader["ChequeDate"].ToString();
       reader.Close();
   }
   cmd.Connection.Close();
}

В противном случае вы перезаписываете все изменения и привязываете элементы управления к старым значениям.

http://msdn.microsoft.com/en-us/library/system.web.ui.page.ispostback.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...