【发布时间】:2020-10-02 19:35:14
【问题描述】:
我在这里搜索了如何在this post 上运行多个 sql 命令,对我来说还不清楚。
我想在 button1_click 上运行两个 SQL 查询。第一个是从表 tehnicke_karakteristike 中删除,其中 sifra_proizvoda=@sifraProizvoda,第二个是从表 proizvod 中删除,其中 sifra_proizvoda=@sifraProizvoda。 sifra_proizvoda 是 tehnicke_karakteristike 的 FK。
这是我的代码:
private void button1_Click(object sender, EventArgs e)
{
konekcija = new SqlConnection(Konekcija.konString);
SqlCommand komanda = new SqlCommand("DELETE FROM tehnicke_karakteristike WHERE sifra_proizvoda = @sifra_proizvoda", konekcija);
SqlParameter sifraParam = new SqlParameter("@sifra_proizvoda", SqlDbType.Int);
SqlCommand komanda1 = new SqlCommand("DELETE FROM proizvod WHERE sifra_proizvoda = @sifra_proizvoda", konekcija);
SqlParameter sifraParam1 = new SqlParameter("@sifra_proizvoda", SqlDbType.Int);
komanda.Parameters.Add(sifraParam);
komanda1.Parameters.Add(sifraParam1);
sifraParam.Value = tbSifra.Text;
sifraParam1.Value = tbSifra.Text;
try
{
konekcija.Open();
komanda.ExecuteNonQuery();
komanda1.ExecuteNonQuery();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
konekcija.Close();
}
}
当我运行它时,只有第一个命令通过。
【问题讨论】:
-
一些建议:看看“Dapper”。自己编写 ADO.NET 代码并不有趣、有趣或有用。