要插入另一个表

时间:2017-03-06 22:58:23

标签: c# mysql

使用Visual Studio和MySQL。我有一个表格类型,其中包含两个列 - ID和流派。

我在Visual Studio中使用

创建了一个组合框
  1. 数据来源:流派表
  2. 显示成员 - 流派(专栏)
  3. Value ember - ID(列)
  4. 我想获取显示成员的ID(可能是Value Member)并将其插入另一个表中。当我使用以下代码将Value Member插入到textBox中时,只是为了查看值是否正确

    textBox3.Text = comboBox1.ValueMember.ToString();
    

    它将'ID'显示为字符串。

    我尝试过使用所选值作为ID的解决方法以及以下代码:

     textBox2.Text = comboBox1.SelectedIndex.ToString();
    
               int anInteger;
               anInteger = Convert.ToInt16(textBox2.Text);
               anInteger = int.Parse(textBox2.Text);
               int i = anInteger + 1;
    

    我用来将ID添加到另一个表中的代码是

     SqlCommand xp4 = new SqlCommand("Insert into BookGenre(Genre_Id, Books_Id) Values (@textBox1, @newId2)", test);
               xp4.Parameters.Add("@textBox1", SqlDbType.Int).Value = i;
               xp4.Parameters.Add("@newId2", SqlDbType.Int).Value = newId2;
               test.Open();
               xp4.ExecuteNonQuery();
               test.Close();
    

    但是当我尝试执行程序时出现错误:

      

    附加信息:INSERT语句与FOREIGN KEY约束“FK_BookGenre_Genre”冲突。冲突发生在数据库“BookStoreBiggest”,表“dbo.Genre”,列'ID'。

1 个答案:

答案 0 :(得分:0)

在插入BookGenre之前,必须先将它们插入表格类型。 (两者之间的关系必须匹配值)这就是FOREIGN KEY约束所要求的。