我有一个包含三个字段的数据库表:
产品(ProdId、名称、价格)
ProdId 是一个自动递增 字段。自增为种子1,从0开始。
我在 ASP.NET 应用程序中使用 C# 对数据库执行操作。
如果我使用 LINQ 插入新记录,我只需将值分配给名称和价格字段,当我提交更改时,数据库负责增加 ProdId。
我如何使用标准的 ADO.NET 来做到这一点?如果我写一个 INSERT 语句
INSERT INTO Product (Name, Price) VALUES (@Name, @Price)
当我执行命令时抛出异常;
不能在 ProdId 中插入 NULL。
谁有解决办法?谢谢
最佳答案
我将按以下顺序开始调试:
- 确保在您的 SQL 中启用了 AUTO Increment
数据类型可以是numeric
、money
、decimal
、float
、 bigint
和 int
- 使用工作室管理工具,手动运行插入查询
喜欢:
DECLARE @Name nvarchar(100), @Price money
SET @Name = 'Bruno Alexandre';
SET @Price = 100.10;
INSERT INTO Product (Name, Price) VALUES (@Name, @Price)
或
INSERT INTO Product SELECT @Name, @Price
确保您在 ADO 连接中指向正确的数据库。
如果使用 EF,请使用
.edmx
文件上的更新表向导刷新您的表
关于c# - 如何在 C# 中使用 ADO.NET 增加自动增量字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7607635/