【问题标题】:SqlTableAdapter.Insert() with fewer Parameters具有较少参数的 SqlTableAdapter.Insert()
【发布时间】:2019-10-07 08:07:27
【问题描述】:

我有一张表 Users 有 3 列 IdNameAddress

我正在使用usersTableAdapter.Insert() 添加新记录,但它需要所有 3 个参数,包括身份列 Idauto-incremented,并且无法手动添加。

代码如下:

this.usersTableAdapter.Insert("Haroon", "Pakistan");   

这不起作用。

有没有什么方法可以在不提供Id 值的情况下使用上述命令?

【问题讨论】:

  • 不要使用TableAdapter,而是自己编写SQLINSERT语句(INSERT INTO Users(Name, Address) VALUES (@Name, @Address),并使用SqlCommand.ExecuteNonQuery()执行它

标签: c# tableadapter


【解决方案1】:

是的;你的 tableadapter 设置不正确..

查看这个连接到具有自动增量 ID 列的 sql server 表的 tableadapter 的屏幕截图。您可以在右侧(蓝色边框)中看到 SSMS 中的表格设计。您可以看到突出显示的表适配器是使用 select * from autoinctable 创建的,并且向导仅选择引用 Text 列进行 INSERT(也突出显示)

在代码中,插入命令只要求输入文本列:

此 TA 是在“刷新数据集”打开的情况下创建的;您可以在命令(如插入)中看到检索到数据库计算值(select ... scope_identity

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-20
    • 1970-01-01
    • 2012-06-05
    相关资源
    最近更新 更多