问题标签 [sqldataadapter]
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.
c# - 使用 SqlDataAdapter 获取新插入记录的 ID
已经使用上面的方法在数据库中插入记录,效果很好。现在我需要自动生成的新插入记录的 id(主键),而不是从受影响的行返回
看起来我需要 SCOPE_IDENTITY() 函数,但我不确定在设计器中将其包含在哪里,因为设计器对添加到实际插入查询中的以下语法不满意。虽然它在 sqlserver 管理控制台中运行良好
c# - SQL - SQLDataAdapter 更新导致主键冲突
我需要能够更改表中的主键。问题是,一些键将更改为现有键值。例如,record1.ID 3=>4 和 record2.ID 4=>5。我需要将它们保留为主键,因为它们被设置为外键(级联更新)是否有合理的方法来实现这一点,或者我是否正在尝试 sql heresey?
至于为什么,我有一组表中的数据,这些表由这个主键链接,这些表被插入/更新到另一组类似结构的表中。插入是部分进行的,因为它是重复数据删除过程的一部分,如果我可以简单地使用新的主键更新所有要插入的表,生活会更轻松。
一种解决方案是在目标表上开始索引高于传入表行数将达到的(传入表每次都重新=索引),但我仍然想知道是否可以执行上述操作,除此以外。
TIA
c# - 丢失数据集并在 C# 中合并
最新编辑!!!
请...我已经经历了这段代码的许多排列。我正在尝试从数据库(SQL 服务器)中获取某些相关记录并导出到 XML(这似乎可行!),并将它们带到该数据库的断开连接的副本,然后将它们导入该数据库,按主合并它们密钥(如果密钥存在则更新,如果不存在则插入)。
数据库中有很多表,我想要所有与某个已更改实体列表相关的表。我很早就发现我无法使用连接进行大型复杂查询来获取我想要填充导出数据集的所有列,因为我丢失了所有表结构。我还让 Visual Studio 2005 DataSet 设计器创建了一个类型化的数据集,我不确定我是否需要这样做,如果我不应该这样做,请告诉我。
这是我将数据导出到 xml 的操作:
正如你所看到的,我一遍又一遍地重用同一个 TableAdapeter,最后编写的 XML 看起来很好,每个表都有一个标签,每个字段都有一个标签,这正是我想要,并且能够将其合并回来。这是导入代码:
此刻,靠近导入函数末尾的 Debug.WriteLine 显示 tblOrganizationTableAdapter 的 UpdateCommand 为空。视觉设计师告诉我,它创建了它,尽管如果我要做的就是创建它,当然,我会这样做,但我现在已经重写了很多次(而且还有比这更多的表) ,我仍然不明白发生了什么。我该怎么做?!
太感谢了!约书亚
这段代码几乎可以工作。它现在不再失败,但是,我最终得到了所有重复的行,而不是通过主键比较进行更新!
ado.net - SqlDataAdapter 更新
任何人都可以帮助我为什么在我使用带有连接查询的 sqlDataadapter 更新时会发生此错误
不支持针对多个基表生成动态 SQL。
c# - 如何同步两个数据表并更新数据库中的目标?
我正在尝试在两个数据库之间同步两个表。我认为最好的方法是使用 DataTable.Merge 方法。这似乎接受了更改,但没有任何东西被提交到数据库。
到目前为止,我有:
目前,源中有一行不在目标中。该行永远不会被转移。我也用一个空的目标试过它,没有任何东西被转移。
c# - C# SqlDataAdapter 不填充数据集
我已经搜索了网络并搜索了网络,但并没有完全找到我可能遇到的问题。我目前在获取 SqlDataAdapter 来填充 DataSet 时遇到问题。我正在运行 Visual Studio 2008,并且正在将查询发送到 SqlServer 2008 的本地实例。如果我运行查询 SqlServer,它会返回结果。代码如下:
读取数据集的代码:
如果我可以提供更多信息,请告诉我。
c# - 从外部源更改表时,SqlDataAdapter 可以自行刷新吗?
我的 SQL Server 表是从我的程序外部(实际上是从 SQL 触发器)更新的,因此 DataSet 没有意识到有更改,并且我的 DataGrid 不会更新,除非我再次显式调用 SqlDataAdapter.Fill()(例如带有“刷新”按钮或定时事件)。
有没有一种方法可以让 ADO.NET 订阅更改事件等以便它自己刷新?
asp.net - 如何正确过滤数据表(datatable.select)
当我调用 da.fill 时,我将插入查询中的所有记录。然后我希望过滤它们以仅显示 GroupingID 等于 0 的那些。当我运行上面的代码时。我看到了所有数据,过滤器不起作用。请你能告诉我如何让它正常工作。谢谢。
.net - TransactionScope 不使用 SqlDataAdapter.Update 回滚
我使用 SqlDataAdapter.Update 和 DataTables 在单个事务中更新两个 SQL 表。如果任一插入失败,我想回滚所有数据。这是我的代码:
我遇到的问题是,如果在第二个命令执行期间引发异常,则仍然提交来自第一个命令的数据。我需要显式回滚吗?或者在使用 SqlDataAdapter.Update 时 TransactionScope 应该如何表现?
需要注意的是,最初我在 TransactionScope using 语句中创建了 SqlConnection,但我将它移出,因为我收到错误,即我的数据库服务器没有为分布式事务正确配置。我的 SqlConnection 创建与 TransactionScope 无关吗?
vb.net - 运行 DataAdapter/DataSet SQL 查询时如何检查错误?
这就是我使用 SQL Server 在 VB 中使用 DataAdapter 和 DataSet 更新表的方式:
我知道 Fill 方法在 INSERT 语句的情况下没有意义,但我是这项技术的新手,上面的语句完成了这项工作并更新了没有问题的表。我的问题是:如果出现错误(比如重复键错误),我如何在我的应用程序中知道这一点?我应该将上面的代码放在 try/catch 块中吗?
此外,如果存在使用不使用 Fill 方法的 DataAdapter/DataSet 组合运行 INSERT 语句的“正确”方法,请同时指出。