如何在 C# 中使用 ADO.NET 增加自动增量字段
我有一个包含三个字段的数据库表:
产品(ProdId,名称,价格)
其中ProdId是自动增量字段。自动增量是种子1,从0开始。
我在ASP.NET应用程序中使用C#对数据库进行操作。
如果我使用 LINQ 插入新记录,我只需为“名称”和“价格”字段分配值,当我提交更改时,数据库负责增加 ProdId。
我如何使用标准 ADO.NET 来做到这一点?如果我在执行命令时编写 INSERT 语句,
INSERT INTO Product (Name, Price) VALUES (@Name, @Price)
则会引发异常;
无法在 ProdId 中插入 NULL。
有人有解决方案吗?谢谢
I have a database table with three fields:
Product(ProdId, Name, Price)
Where ProdId is a auto-increment field. The auto-increment is with seed 1, starting from 0.
I perform operation on the database by using C# in an ASP.NET application.
If I use LINQ to INSERT a new record I just assign values to Name and Price fields and when I submit the changes the database is responsible to increment the ProdId.
How can I do it with the standard ADO.NET? If I write an INSERT statement
INSERT INTO Product (Name, Price) VALUES (@Name, @Price)
when I execute the command an exception is thrown;
Cannot insert NULL in ProdId.
Anybody has a solution? Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我将按以下顺序开始调试:
上具有自动增量数据类型可以是
numeric
、money
、decimal
、float
、bigint 和
int
如下所示:
或
确保您在 ADO 连接中指向正确的数据库。
如果使用 EF,请使用
.edmx
文件上的更新表向导刷新您的表I would start debugging in this order:
Data Types can be
numeric
,money
,decimal
,float
,bigint
andint
like:
or
Make SURE that you are pointing in your ADO Connection to the correct Database.
If using EF, refresh your table using the Update Table Wizard on the
.edmx
file你是如何定义ProdId的,尝试INT NOT NULL AUTO_INCRMENT ...
How did you define the ProdId, try INT NOT NULL AUTO_INCREMENT ...