Open-Source
شنبه 07 شهریور 1388, 14:43 عصر
من برای ذخیره در بانک اکسس از این کد استفاده میکردم که مشکلی هم نداشت و درست کار میکرد:
oc.CommandText = "INSERT INTO tblBuyItem (NKala,Tedad,BahaVahed,BahaKol,BahaForoosh,FactorN O) VALUES ('"
+ dgvKala.Rows[i].Cells[0].Value.ToString() + "','"
+ dgvKala.Rows[i].Cells[1].Value.ToString() + "','"
+ dgvKala.Rows[i].Cells[2].Value.ToString() + "','"
+ dgvKala.Rows[i].Cells[3].Value.ToString() + "','"
+ dgvKala.Rows[i].Cells[4].Value.ToString() + "','"
+ txtFactorNo.Text + "')";
ولی دوستان گفتند در این روش Sql Injection رخ میدهد.
ما اومدیم واز این روش استفاده کردیم:
oc.CommandText = "INSERT INTO tblBuyItem (NKala,Tedad,BahaVahed,BahaKol,BahaForoosh,FactorN O) VALUES (@i1,@i2,@i3,@i4,@i5,@i6)";
oc.Parameters.AddWithValue("@i1", dgvKala.Rows[i].Cells[0].Value.ToString());
oc.Parameters.AddWithValue("@i2", dgvKala.Rows[i].Cells[1].Value.ToString());
oc.Parameters.AddWithValue("@i3", dgvKala.Rows[i].Cells[2].Value.ToString());
oc.Parameters.AddWithValue("@i4", dgvKala.Rows[i].Cells[3].Value.ToString());
oc.Parameters.AddWithValue("@i5", dgvKala.Rows[i].Cells[4].Value.ToString());
oc.Parameters.AddWithValue("@i6", txtFactorNo.Text);
ولی برنامه این error را میدهد.
You cannot add or change a record because a related record is required in table 'tblBuy'.
:متفکر::متفکر::متفکر::متفکر:: تفکر:
oc.CommandText = "INSERT INTO tblBuyItem (NKala,Tedad,BahaVahed,BahaKol,BahaForoosh,FactorN O) VALUES ('"
+ dgvKala.Rows[i].Cells[0].Value.ToString() + "','"
+ dgvKala.Rows[i].Cells[1].Value.ToString() + "','"
+ dgvKala.Rows[i].Cells[2].Value.ToString() + "','"
+ dgvKala.Rows[i].Cells[3].Value.ToString() + "','"
+ dgvKala.Rows[i].Cells[4].Value.ToString() + "','"
+ txtFactorNo.Text + "')";
ولی دوستان گفتند در این روش Sql Injection رخ میدهد.
ما اومدیم واز این روش استفاده کردیم:
oc.CommandText = "INSERT INTO tblBuyItem (NKala,Tedad,BahaVahed,BahaKol,BahaForoosh,FactorN O) VALUES (@i1,@i2,@i3,@i4,@i5,@i6)";
oc.Parameters.AddWithValue("@i1", dgvKala.Rows[i].Cells[0].Value.ToString());
oc.Parameters.AddWithValue("@i2", dgvKala.Rows[i].Cells[1].Value.ToString());
oc.Parameters.AddWithValue("@i3", dgvKala.Rows[i].Cells[2].Value.ToString());
oc.Parameters.AddWithValue("@i4", dgvKala.Rows[i].Cells[3].Value.ToString());
oc.Parameters.AddWithValue("@i5", dgvKala.Rows[i].Cells[4].Value.ToString());
oc.Parameters.AddWithValue("@i6", txtFactorNo.Text);
ولی برنامه این error را میدهد.
You cannot add or change a record because a related record is required in table 'tblBuy'.
:متفکر::متفکر::متفکر::متفکر:: تفکر: