gpt4 book ai didi

c# - 当主键列已设置默认标识时,如何将数据插入到 sql server 数据库中(1, 1)

转载 作者:太空宇宙 更新时间:2023-11-03 10:28:56 24 4
gpt4 key购买 nike

我试图将两个数据列插入到我的 SQL Server 数据库中,但我在代码行处收到错误 -> cmd.ExecuteNonQuery();

Cannot insert the value NULL into column OrderID, table RestaurantApp.dbo.Junc_Order; column does not allow nulls. INSERT fails.

OrderID 列实际上是我的数据表中的主键。我将它设置为 identity(1, 1) 并想插入其他数据,同时它可以自动插入 1, 2, 3, 4....。

这是我的部分代码:

string insertString = "INSERT INTO Junc_Order(ID, Quantity)values (@ID, @Quantity)";
SqlCommand cmd = new SqlCommand(insertString, conn);
cmd.Parameters.AddWithValue("@ID", r_ID);
cmd.Parameters.AddWithValue("@Quantity", r_Quantity);
cmd.ExecuteNonQuery();

我已经在这些代码之前与数据库建立了连接,所以问题应该不是这个。

更新的 Junc_Order 表设计:

OrderID (PK,FK,int,not null)

ID(FK,int,not null)

Quantity(int,not null)

最佳答案

通过查看您的问题,您的插入查询似乎不正确:

  1. 首先,您不需要插入“OrderID”,因为它是主键标识,所以 sql server 会自动插入它。
  2. 其次,在某处您将“r_ID”设为 null,这就是您遇到错误的原因。验证它并使用以下内容修改您的代码:

    string insertString = "INSERT INTO Junc_Order(Quantity) values(@Quantity)"; SqlCommand cmd = new SqlCommand(insertString, conn); cmd.Parameters.AddWithValue("@Quantity", r_Quantity); cmd.ExecuteNonQuery();

关于c# - 当主键列已设置默认标识时,如何将数据插入到 sql server 数据库中(1, 1),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30838922/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com