PDA

View Full Version : مشکل ایجاد شده در edit کردن دیتالیست



bbc_sh
جمعه 28 تیر 1387, 03:21 صبح
سلام دوستان.
من این کد رو برای edit کردن دیتالیست نوشتم .ارور نمیده ولی وقتی که یک رکورد رو آپدیت میکنم.اسم و فامیل برای همه آیدی ها تکرار میشه.واسم و فامیل همه یکی میشه.

protected void datalist_editcommand(object source, DataListCommandEventArgs e)
{
DataList1.EditItemIndex = e.Item.ItemIndex;
DataList1.DataBind();
}
protected void datalist_cancelcommand(object source, DataListCommandEventArgs e)
{
DataList1.EditItemIndex = -1;
DataList1.DataBind();
}
protected void datalist_updatecommand(object source, DataListCommandEventArgs e)
{
int stid = Convert.ToInt32(DataList1.DataKeys[e.Item.ItemIndex]);
TextBox firstname = (TextBox)e.Item.FindControl("txtfirst");
TextBox lastname = (TextBox)e.Item.FindControl("txtlast");
SqlConnection con=new SqlConnection(connectionstring);
string sqlup = "update stt set stname=@stname,stlastname=@stlastname";
SqlCommand com = new SqlCommand(sqlup, con);
com.Parameters.AddWithValue("@stname", firstname.Text);
com.Parameters.AddWithValue("@stlastname", lastname.Text);
con.Open();
com.ExecuteNonQuery();
con.Close();


}

merlin_vista
جمعه 28 تیر 1387, 09:48 صبح
دوست عزيز به خاطر اين براي تمامي ركورد ها تكرار ميشه كه شما براي دستور SQL خود كه عمل update ار انجام ميده شرط Where نگزاشتيد .

string sqlup = "update stt set stname=@stname,stlastname=@stlastname";

براي اين كار ميتونيد يك شرط Where ساده روي id بگزاريد

string sqlup = "update stt set stname=@stname,stlastname=@stlastname Where id=@id";


وبعد مقدار را بهش پاس بديد .

com.Parameters.AddWithValue("@id",stid);