c# - 如何将插入插入到多个表中?

标签 c# sql-server

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

我有 3 个表 MalzemelerTariflerMalzemelerveTarifler - 它们都通过主键有某种关系。

My tables columns like this

我的代码是这样的

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();

最佳答案

您应该使用多个INSERT 查询,但您可以创建一个Store Procedure 并将您的三个INSERT 或更多放入SP 并从您的代码中调用该 SP 一次,如果重要的话,您也可以使用 Transaction 完成三个表中的所有 INSERT 数据。

关于c# - 如何将插入插入到多个表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63435003/

相关文章:

c# - 减少 MVVM WPF 应用程序中附加属性、命令等的样板代码?

c# - 使用 OpenXml 读取受密码保护的 Excel 文件

c# - 保护连接字符串

SQL Server : how to combine two select queries from the same table and take the result on Column

php - 使用 PHP (Linux) 连接到 MSSQL

c# - MS Access/accdb "Cannot open database"错误 (C#)

c# - 获取下拉列表值时避免回发 c# asp

SQL Server 以用户身份执行过程

SQL - 需要一种绕过多个 WHERE 限制的方法

sql-server - SQL Server - 如果不存在则创建临时表