问题标签 [sqlcommandbuilder]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
962 浏览

ado.net - 您可以将 ADO.NET SQLCommandBuilder 与复合键一起使用吗?

我有一个包含 6 列的数据库表。主键是由 6 列中的 5 列组成的复合键

我正在尝试使用SqlClient.SqlCommandBuilder.GetDeleteCommand删除该行。

但是我收到以下错误:

“System.InvalidOperationException:对于不返回任何键列信息的 SelectCommand,不支持为 DeleteCommand 生成动态 SQL。”

包含表中的SelectCommmand所有列:

问题可能出在复合键上吗?

0 投票
1 回答
815 浏览

c# - SqlCommandBuilder 使用表名而不是视图

我正在使用 SqlCommandBuilder 对象从 SqlDataAdapter 中的 Select 语句生成更新语句。

我的问题是,在我的 Select 语句中,我从一个名为 vwUsers 的视图中进行选择。我使用的 SqlCommandBuilder 对象为表用户而不是视图 vwUsers 生成了更新语句。我怎样才能覆盖这种行为?

(我需要它来使用视图,因为这是执行触发器的地方。我们将触发器添加到表视图而不是原始表)

0 投票
2 回答
1507 浏览

c# - SqlCommandBuilder 和 SQL Server 计算列 - 错误

当用于 SELECT 的 SQL 语句将计算列作为返回字段之一时,使用 SqlDataAdapter/SqlCommandbuilder 避免 INSERT 和 UPDATES 错误的正确方法是什么?

我现在收到错误消息“无法修改列金额,因为它是计算列或者是 UNION 运算符的结果”。

更新:我通过使用这样的查询解决了这个问题:

并放弃计算列。现在它起作用了。SqlCommandBuilder 如何实现将 CoreValue 字段构建到 UPDATE 和 INSERT 语句中?有人知道这在内部是如何工作的吗?

0 投票
2 回答
1462 浏览

asp.net - 在 ASP.NET 中使用 SqlCommandBuilder

我使用以下代码将输入到 Web 表单的反馈添加到数据库中。

代码工作正常。但是当我尝试删除这个语句时

我收到一个错误,我的意思是它正在执行 else 部分。

谁能告诉我SqlCommandBuilder 有什么用?

有没有办法显示特定的错误消息,例如如果用户输入字符串值而不是整数值,它应该将消息显示为“输入字符串没有以正确的格式输入?

0 投票
2 回答
1297 浏览

sql-server - SqlCommandBuilder.DeriveParameters(command) 和 IsNullable

我编写了一个 O/R 数据库包装器,它为它从数据库中读取的存储过程生成一些包装器方法。

现在,如果存储过程的输入参数默认为 NULL,我需要生成一些自定义包装器代码。问题是 - 我使用以下方法获取存储的 proc 参数:

并且它不会带来参数​​默认值。有没有办法查找这些默认值?它们是否存储在数据库中的任何位置?

顺便说一句,我使用的是 SQL Server 2008

0 投票
3 回答
15278 浏览

c# - WinForms DataGridView - 更新数据库

我知道这是 DataGridView 的基本功能,但由于某种原因,我无法让它工作。我只希望 Windows 窗体上的 DataGridView 在用户单击“保存”按钮时将对其所做的任何更改提交到数据库。

我根据 DropDownList 中的用户选择触发的函数填充 DataGridView,如下所示:

在我的保存功能中,我基本上有以下内容(我已经删除了它周围的一些代码以达到重点):

好的,所以我编辑了代码以执行以下操作:构建命令,基于 DataGridView (RuleTable) 创建一个 DataTable,用 DataTable 填充 DataAdapter,然后更新数据库。现在 ruleTableDA.Update(dt) 抛出异常“并发冲突:UpdateCommand 影响了预期的 1 条记录中的 0 条”。

0 投票
1 回答
2034 浏览

sqlconnection - CommandBuilder 和 SqlTransaction 插入/更新行

我可以让它工作,但我觉得我做得不好。

第一次运行时,它按预期工作,并在“thisField”包含“doesntExist”的位置插入新行

但是,如果我随后运行它,我会收到一个运行时错误,我无法插入重复键,因为它违反了主键“thisField”。

即使我可以通过移动 AcceptChanges 的反复试验或在 Begin/EndEdit 中封装更改来实现这一点,然后我开始遇到“并发冲突”,它不会更新更改,而是告诉我它失败了更新 1 个受影响行中的 0 个。

有什么疯狂的明显我想念的吗?

0 投票
1 回答
4564 浏览

c# - 在使用SqlDataAdpater.Update()之前是否需要调用SqlCommandBuilder.GetUpdateCommand()?

当我使用 SqlCommandBuilder 将更新/插入/删除推送到服务器时,我需要调用.GetUpdateCommand().GetInsertCommand().GetDeleteCommand()吗?

关于正确的程序,我看到了相互矛盾的 例子。我知道没有它它可以工作,但我不知道它是否在幕后做了一些特别的事情。这是必要的还是货物崇拜编程?

0 投票
1 回答
1835 浏览

asp.net - ASP.NET 中的命令生成器有什么用?

命令生成器构建参数对象。参数对象是什么意思?为什么要创建它们?

为什么派生参数方法需要额外往返数据存储?

0 投票
1 回答
277 浏览

c# - 从它的 datagridview 更新与数据库对应的数据集

有一个datagridview对应于某个数据库的表。该数据库有一个名为“id”的(自动记录)身份列。此列也是主键。现在,用户只看到一个空白和空的datgridview. 他/她可以修改这个表(datagridview)。例如,添加一个新行,删除一个,编辑(更新)一个单元格,并且可以进行所有可能的修改。

我曾尝试使用 sqlcommandBuilder,但没有得到任何结果。我怎样才能做到这一点?我正在使用 sql server 和 c#。

干杯。