بیتافرهی
پنج شنبه 16 آبان 1387, 18:19 عصر
سلام
من دو تا جدول دارم
1-جدول tbl1_cpu كه شامل فيلد هاي id,model,name(كليد اصلي) است.(اين جدول اصلي است)
2- جدول tbl_computer_component ، كه اجزاي كامپيوتر را نگه مي دارد.يكي از فيلد هاي آن id_cpu_f است،كه اين فيلد از نوع int است و با فيلد id از جدول 1 ،كليد خارجي است.
(يعني اطلاعات id_cpu_f ،از طريق id جدول cpu تامين ميشود.)
مشكل من در رابطه با insert است .
وقتيكه جدول 1 خالي باشد،وقتيكه من توي فرمم كه در رابطه با وارد كردن اطلاعات در جدول 2 است،دكمهي insert را مي زنم با error زير مواجه مي شوم.
//////////////////////////////
The INSERT statement conflicted with the FOREIGN KEY constraint "FK_tbl_computer_component_tbl1_cpu".
The conflict occurred in database "iso4", table "dbo.tbl1_cpu", column 'id'.
The statement has been terminated.كدي هم كه من نوشتم اين است:
SqlCommand objcommand = new SqlCommand();
objcommand.Connection = con;
objcommand.CommandText = "insert into tbl_computer_component " +
" (computer_idf,id_cpu_f)" +
"values(@computer_idf,isnull(@id_cpu_f,NULL))";///???
objcommand.Parameters.AddWithValue("@computer_idf", re_computer);
objcommand.Parameters.AddWithValue("@id_cpu_f", textBox2.Text);در واقع مشكل ماينجاست كه وقتي جدول 1 حالي باشد و من در فرمم كه مربوط به پر كردن جدول 2 است،Insert مي زنم،چون مقدار Text box اي كه تامين كننده ي اين فيلد است ،توش هيچي نوشته نشده ايراد مي گيره.من مقدار null گذاشتم isnull(@id_cpu_f,NULL) ولي باز هم ارور بالا را مي گيرد.
اشكال از كجاست؟
من دو تا جدول دارم
1-جدول tbl1_cpu كه شامل فيلد هاي id,model,name(كليد اصلي) است.(اين جدول اصلي است)
2- جدول tbl_computer_component ، كه اجزاي كامپيوتر را نگه مي دارد.يكي از فيلد هاي آن id_cpu_f است،كه اين فيلد از نوع int است و با فيلد id از جدول 1 ،كليد خارجي است.
(يعني اطلاعات id_cpu_f ،از طريق id جدول cpu تامين ميشود.)
مشكل من در رابطه با insert است .
وقتيكه جدول 1 خالي باشد،وقتيكه من توي فرمم كه در رابطه با وارد كردن اطلاعات در جدول 2 است،دكمهي insert را مي زنم با error زير مواجه مي شوم.
//////////////////////////////
The INSERT statement conflicted with the FOREIGN KEY constraint "FK_tbl_computer_component_tbl1_cpu".
The conflict occurred in database "iso4", table "dbo.tbl1_cpu", column 'id'.
The statement has been terminated.كدي هم كه من نوشتم اين است:
SqlCommand objcommand = new SqlCommand();
objcommand.Connection = con;
objcommand.CommandText = "insert into tbl_computer_component " +
" (computer_idf,id_cpu_f)" +
"values(@computer_idf,isnull(@id_cpu_f,NULL))";///???
objcommand.Parameters.AddWithValue("@computer_idf", re_computer);
objcommand.Parameters.AddWithValue("@id_cpu_f", textBox2.Text);در واقع مشكل ماينجاست كه وقتي جدول 1 حالي باشد و من در فرمم كه مربوط به پر كردن جدول 2 است،Insert مي زنم،چون مقدار Text box اي كه تامين كننده ي اين فيلد است ،توش هيچي نوشته نشده ايراد مي گيره.من مقدار null گذاشتم isnull(@id_cpu_f,NULL) ولي باز هم ارور بالا را مي گيرد.
اشكال از كجاست؟