em có đoạn code như ở dưới, và triển khai thang câu lệnh sql, khi em thực thi riêng biệt câu lệnh sql trên sql 2k8 thì vẫn chạy bình thường. khi em chạy trên C# thì bị báo lỗi xung đột foreign key
em đã check câu lệnh ở cả 2 môi trường xem có sai xót cú pháp ko thì báo rằng không các anh các chị giúp em với :((
Code:
if (flag)
{
Pname = textBox1.Text.ToString();
Qunit = textBox2.Text.ToString();
Cate = comboBox1.Text.ToString();
Sup = comboBox2.Text.ToString();
Uprice = float.Parse(maskedTextBox2.Text.ToString());
Ustock = int.Parse(maskedTextBox3.Text.ToString());
Uorder = int.Parse(maskedTextBox4.Text.ToString());
Level = int.Parse(maskedTextBox5.Text.ToString());
if (checkBox1.Checked)
Dis = 1;
query1 = "select CategoryID from Categories where CategoryName='"+Cate+"';";
query2 = "select SupplierID from Suppliers where CompanyName='"+Sup+"';";
try
{
string cnnString = @"Data Source =.;
Initial Catalog=Northwind;
Integrated Security =true;";
SqlConnection cn = new SqlConnection();//create connection object
cn.ConnectionString = cnnString;
cn.Open();
SqlCommand cmd = cn.CreateCommand();
cmd.CommandText = query1;
CateID = int.Parse(cmd.ExecuteScalar().ToString());
cmd.CommandText = query2;
SupID = int.Parse(cmd.ExecuteScalar().ToString());
query3 = "insert into Products values('"+Pname+"',"+CateID+","+SupID+",'"+Qunit+"',"+Uprice+","+Ustock+","+Uorder+","+Level+","+Dis+");";
cmd.CommandText = query3;
SqlDataReader dr = cmd.ExecuteReader();
cn.Close();// close connection
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
Console.ReadLine();
}
MessageBox.Show(String.Format("{0}",query3));
//MessageBox.Show(String.Format("Product name :{0} \nCategory :{1} \nSupplier:{2} \nQuantity per unit:{3} \nUnit price{4} \nUnit in stock:{5} \nUnit in order:{6} \nReorder Level:{7} \nDiscontinued:{8}",Pname,Cate,Sup,Qunit,Uprice,Ustock,Uorder,Level,Dis));
}
file đính kèm là cái diagram về database của em