c# - 如何在 C# 中使用 ADO.NET 增加自动增量字段

标签 c# ado.net auto-increment

我有一个包含三个字段的数据库表:

产品(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

enter image description here

数据类型可以是numericmoneydecimalfloatbigintint

  • 使用工作室管理工具,手动运行插入查询

喜欢:

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/

相关文章:

c# - 如何将 JavaScript 多维数组解析为 C# 数组?

c# - 尝试生成 xsd :schema using xsd. exe 时出错

c# - AES 加密 C#

c# - C# 中恼人的强制转换

c# - View 中具有多个(单独的)键的 Entity Framework 关联

sql - 使用 Perl SQLite 自动递增

asp.net - .NET Core 中的 ADO.NET 可能吗?

c# - 如何在 Entity Framework 中编辑对象?

sql - 错误 : permission denied for sequence cities_id_seq using Postgres

mysql - 如何在 MySQL 中重置 AUTO_INCRMENT