0 امتیاز

با سلام

 می خوام توی datagridview مقدار چند فیلد رو آپدیت کنم ، کدی که نوشتم فقط مقدار آخرین فیلد رو update میکنه، چجوری میشه مقدار چند فیلد رو آپدیت کرد؟؟؟

           

 

سلام

لطفا کد آپدیتون رو بذارین تا بهتر راهنمایی کنم
توسط (6,480 امتیاز) 6 17 129
private void btnUpdate_Click(object sender, EventArgs e)
{
    SqlDataAdapter DA = new SqlDataAdapter(" select * FROM   TblVendorsData", MDIParent1.cn);


    DataSet DS = new DataSet();

    SqlCommand CMD = new SqlCommand();
    string strupdate = "Update   TblVendorsData  SET ";

          
    if (dataGridView1.CurrentRow.Cells[1].Value.ToString() != CompanyName)
    {
        strupdate += " CompanyName = '" + dataGridView1.CurrentRow.Cells[1].Value.ToString() + "' " + ",";
             
    }
    if (dataGridView1.CurrentRow.Cells[2].Value.ToString() != F_CompanyName)
    {
        strupdate += " F_CompanyName = '" + dataGridView1.CurrentRow.Cells[2].Value.ToString() + "' " + ",";


        strupdate = strupdate.Remove(strupdate.Length - 1);
        strupdate = strupdate + " where ID = " + dataGridView1.CurrentRow.Cells[0].Value.ToString();
        CMD.CommandText = strupdate;
        CMD.CommandType = CommandType.Text;
        CMD.Connection = MDIParent1.cn;
            
    try
    {
        CMD.Connection.Open();
        CMD.ExecuteNonQuery();
        CMD.Connection.Close();
        MessageBox.Show("Update is done");

    }
    catch (Exception)
    {
        MessageBox.Show("Don't Update");
    }
}
}

 

ممنونم آقای ابراهیمی 

این کد برنامه س البته تعداد فیلدهام خیلی بیشتره       

توسط (109 امتیاز) 2 6

1 پاسخ

0 امتیاز
سلام ، از چه روشی برای Update اطلاعات استفاده کردین . بهترین روش به نظر بنده کد نویسی به صورت پایه ای هست و سعی کنید از کنترل های Vs برای اینکار استفاده نکنید . مثلا می تونید از رویداد های CellValueChanged و... استفاده کنید . چند رویداد داره Datagridview که برای همین کار میشه ازشون استفاده کرد . کد Update رو هم بزارید .
  private void btnUpdate_Click(object sender, EventArgs e)
        {
            SqlDataAdapter DA = new SqlDataAdapter(" select * FROM   TblVendorsData", MDIParent1.cn);


            DataSet DS = new DataSet();

            SqlCommand CMD = new SqlCommand();
            string strupdate = "Update   TblVendorsData  SET ";

          
            if (dataGridView1.CurrentRow.Cells[1].Value.ToString() != CompanyName)
            {
                strupdate += " CompanyName = '" + dataGridView1.CurrentRow.Cells[1].Value.ToString() + "' " + ",";
             
            }
           
            if (dataGridView1.CurrentRow.Cells[3].Value.ToString() != AjencyName)
            {
                strupdate += " AjencyName = '" + dataGridView1.CurrentRow.Cells[3].Value.ToString() + "' " + ",";
            }
           
                    
                          

                strupdate = strupdate.Remove(strupdate.Length - 1);
                strupdate = strupdate + " where ID = " + dataGridView1.CurrentRow.Cells[0].Value.ToString();
                CMD.CommandText = strupdate;
                CMD.CommandType = CommandType.Text;
                CMD.Connection = MDIParent1.cn;
            
            try
            {
                CMD.Connection.Open();
                CMD.ExecuteNonQuery();
                CMD.Connection.Close();
                MessageBox.Show("Update is done");

            }
            catch (Exception)
            {
                MessageBox.Show("Don't Update");
            }
توسط (109 امتیاز) 2 6
update برای تمام مقادیر جداگانه  انجام میشه اما هر بار فقط برای یک مقدار save میشه

مشکلم توی save کردن تغییرات چند فیلد هستش

آخرین فیلدی که تغییر بدم save میشه
توسط (109 امتیاز) 2 6
سوال جدید

2,337 سوال

2,871 پاسخ

3,725 دیدگاه

3,924 کاربر

دسته بندی ها

...