cisco ++
دوشنبه 22 مهر 1392, 11:47 صبح
من بعضی فیلدهای دو تا جدول رو با دستور زیر توی گریدویو نشون داده ام:
SqlDataAdapter objda = new SqlDataAdapter("select TblKharid.id, TblKharid.factor_id, TblKharid.DrugName, TblKharid.tedad, TblKharid.cost, TblKharid.total , TblFactor.dateof from TblKharid INNER JOIN TblFactor on TblKharid.factor_id =TblFactor.factor_id", objcon);
حالا برای آپدیت مقادیری که توی گریدویو از نتیجه دستور بالا اومده مشکل دارم. خطا میده
using (SqlCommand objcom = new SqlCommand())
{
int i = 0;
i = dataGridView1.CurrentRow.Index;
var row = dataGridView1.Rows[i].Cells[0].Value.ToString();
var factorID = dataGridView1.Rows[i].Cells[1].Value.ToString();
var DrugID = dataGridView1.Rows[i].Cells[2].Value.ToString();
var DrugName = dataGridView1.Rows[i].Cells[3].Value.ToString();
var tedad = dataGridView1.Rows[i].Cells[4].Value.ToString();
var cost = dataGridView1.Rows[i].Cells[5].Value.ToString();
var total = dataGridView1.Rows[i].Cells[6].Value.ToString();
objcom.CommandText = @"update TblKharid set factor_id=@u1 , DrugName=@u2 , DrugName=@u3 , tedad=@u4 , cost=@u5 , total=@u6 where id=@id";
objcom.Parameters.AddWithValue("@id", row);
objcom.Parameters.AddWithValue("@u1", factorID );
objcom.Parameters.AddWithValue("@u2", DrugID );
objcom.Parameters.AddWithValue("@u3", DrugName );
objcom.Parameters.AddWithValue("@u4", tedad);
objcom.Parameters.AddWithValue("@u5", cost );
objcom.Parameters.AddWithValue("@u6", total);
objcom.Connection = objcon;
objcon.Open();
objcom.ExecuteNonQuery();
خطاها متنوع هستن . یعنی وقتی میخوام نام دارو رو آپدیت کنم میگه نوع داده ات درست نیست.
وقتی میخوام تعداد دارو رو تغییر بدم واسه کلید اصلی خطا میده
:متفکر: درضمن گزینه cascade update هم تیک داره
درکل فیلدها هماهنگی ندارن با هم.
میتونید بگید چه تغییری بدم؟
SqlDataAdapter objda = new SqlDataAdapter("select TblKharid.id, TblKharid.factor_id, TblKharid.DrugName, TblKharid.tedad, TblKharid.cost, TblKharid.total , TblFactor.dateof from TblKharid INNER JOIN TblFactor on TblKharid.factor_id =TblFactor.factor_id", objcon);
حالا برای آپدیت مقادیری که توی گریدویو از نتیجه دستور بالا اومده مشکل دارم. خطا میده
using (SqlCommand objcom = new SqlCommand())
{
int i = 0;
i = dataGridView1.CurrentRow.Index;
var row = dataGridView1.Rows[i].Cells[0].Value.ToString();
var factorID = dataGridView1.Rows[i].Cells[1].Value.ToString();
var DrugID = dataGridView1.Rows[i].Cells[2].Value.ToString();
var DrugName = dataGridView1.Rows[i].Cells[3].Value.ToString();
var tedad = dataGridView1.Rows[i].Cells[4].Value.ToString();
var cost = dataGridView1.Rows[i].Cells[5].Value.ToString();
var total = dataGridView1.Rows[i].Cells[6].Value.ToString();
objcom.CommandText = @"update TblKharid set factor_id=@u1 , DrugName=@u2 , DrugName=@u3 , tedad=@u4 , cost=@u5 , total=@u6 where id=@id";
objcom.Parameters.AddWithValue("@id", row);
objcom.Parameters.AddWithValue("@u1", factorID );
objcom.Parameters.AddWithValue("@u2", DrugID );
objcom.Parameters.AddWithValue("@u3", DrugName );
objcom.Parameters.AddWithValue("@u4", tedad);
objcom.Parameters.AddWithValue("@u5", cost );
objcom.Parameters.AddWithValue("@u6", total);
objcom.Connection = objcon;
objcon.Open();
objcom.ExecuteNonQuery();
خطاها متنوع هستن . یعنی وقتی میخوام نام دارو رو آپدیت کنم میگه نوع داده ات درست نیست.
وقتی میخوام تعداد دارو رو تغییر بدم واسه کلید اصلی خطا میده
:متفکر: درضمن گزینه cascade update هم تیک داره
درکل فیلدها هماهنگی ندارن با هم.
میتونید بگید چه تغییری بدم؟