C# 如何将insert into用于多个表?

C# 如何将insert into用于多个表?,c#,sql-server,C#,Sql Server,我试图一次插入多个表的数据。我正在尝试加入,但我是新手,希望你们能帮助我 我得到了3个表Malzemeler,Tarifler,MalzemelerveTarifler——它们都通过主键具有某种关系 我的代码如下所示 con.Open(); SqlCommand komut = new SqlCommand("INSERT INTO Malzemeler.Malzemeİsmi, TariflerveMalzemeler.Gram_mL, TariflerveMalzemeler.

我试图一次插入多个表的数据。我正在尝试加入,但我是新手,希望你们能帮助我

我得到了3个表
Malzemeler
Tarifler
MalzemelerveTarifler
——它们都通过主键具有某种关系

我的代码如下所示

con.Open();

SqlCommand komut = new SqlCommand("INSERT INTO Malzemeler.Malzemeİsmi, TariflerveMalzemeler.Gram_mL, TariflerveMalzemeler.Adet, Tarifler.Tarif_İsmi 
                                   VALUES (@Malzemeler.Malzemeİsmi, @TariflerveMalzemeler.Gram_mL, @TariflerveMalzemeler.Adet, @Tarifler.Tarif_İsmi)  
                                   WHERE Malzemeler JOIN TariflerveMalzemeler ON Malzemeler.Malzeme_ID = TariflerveMalzemeler.Malzeme_ID JOIN Tarifler ON TariflerveMalzemeler.Tarif_ID = Tarifler.Tarif_ID", con);

komut.Parameters.AddWithValue("@Tarif_İsmi", SqlDbType.VarChar).Value = txtYemek.Text;
komut.Parameters.AddWithValue("@Gram_mL", SqlDbType.VarChar).Value = txtGram1.Text;            
komut.Parameters.AddWithValue("@Adet", SqlDbType.VarChar).Value = txtAdet1.Text;
       
if (cbMalzeme1.SelectedItem == null)
{
    komut.Parameters.AddWithValue("@Malzemeİsmi", DBNull.Value);
}
else
{
    komut.Parameters.AddWithValue("@Malzemeİsmi", SqlDbType.VarChar).Value = cbMalzeme1.SelectedItem;
}
        
komut.ExecuteNonQuery();
con.Close();

在Oracle中,您可以使用Insert all从单个select语句插入到多个表中


我认为您使用的是SQL Server?

您应该使用多个
INSERT
查询,但您可以创建一个
存储过程
,并将三个
INSERT
或更多个
SP
放入
SP
中,然后从代码中调用该
SP
,如果在三个表中完成所有
INSERT
数据很重要,您还可以使用事务处理。

您需要为每个表单独插入数据。在SQL中无法执行此操作。每个表都应该使用单独的insert。我想这就是答案,我现在来看看存储过程。谢谢