问题标签 [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# - 为什么 Moles 在模拟 SqlDataAdaptor 时不返回“moled”数据集?
我刚刚开始使用 Moles 来模拟一些棘手的遗留代码。本质上,我正在尝试让 SqlDataAdapter 与 Moles 一起使用。(顺便说一句,我在 SqlDataReader 和 SqlCommand 类中成功使用了 moles。)我试图在下面创建一个“简单”单元测试示例,我试图让 SqlDataAdaptor “填充”提供的 DataSet。然后在使用 Moles 时,我在模拟从数据集中检索数据的各种调用。我相信我已经正确设置了 DataSet,以便数据检索将返回预期的“moled”对象并做正确的事情。
当我运行下面的代码时,我可以看到 FillDataSetString lambda 表达式正在执行,并且“d”被设置为“moled”ds。但是当Fill方法返回时,传入的DataSet(“dset”)仍然是一个常规的“DataSet”,而不是“moled DataSet”。因此,第一个 Assert 无法正确运行并引发 IndexOutOfRangeException(“找不到表 0。”)。在第一个断言中,我期望在评估 dset.Tables[0].Rows.Count 时调用以下“moled”方法:
但由于 dset 不是“被模制的”数据集,因此这些调用都不会发生。任何帮助弄清楚 Moles 对 SqlDataAdapter 的数据集参数所做的事情将不胜感激。
要使以下工作,您必须安装“Moles”,引用 System.Data、System.Xml,创建“System.Data.moles”引用。我正在使用 Moles 框架的 0.94.0.0 并在 VS.NET 2010 中运行它,测试项目的“目标框架”设置为“.NET Framework 4.0”。
data-access-layer - 使用 SqlDataAdapter 读取和更新数据问题
我正在寻找一些关于如何最好地使用 SqlDataAdapter 来访问和更新我的应用程序中的数据的示例。现在我有这样的事情:
所有这些都发生在代码后面,我一点也不喜欢它。所以,我试图找到一种方法来做这样的事情:
WhereSaveStudents
方法仍然使用 SqlDataAdapter 来更新数据库。
任何关于如何使这项工作的想法或一些关于做这样的事情的最佳实践的指针都非常感谢。谢谢你。
select - 从 sql server db 中选择 NULL 值
我在选择语句时遇到问题。
看起来像:
但我不知道如何使 DBNull.Value 工作。我也尝试过只使用“”,但它也不起作用。
请对如何重写此语句有任何想法?谢谢你。
c# - SqlDataAdapter 内存使用情况
我有一个将 1500,000 加载到网格的应用程序。问题是它需要大量内存。(1.8 GB)
我观察到以下,
- 如果我在 SQL 查询分析器上运行相同的查询,大约需要 60MB
- 在应用程序中,如果我只执行 ExecuteNonQuery() 它也需要大约 60MB。
当我执行它以将输出作为 DataTable 时出现问题,我觉得我这样做的方式存在一些问题。请帮忙。
这是我这样做的方式,(即使我调用了一个 SP,它也会执行我作为参数传递的 sql)
c# - SqlDataAdapter 插入后获取标识
我SqlDataAdapter
在填充后创建一个Dataset
. 我的问题是插入后我想获取IDENTITY
主列的值。例如,在插入后给定 buttonedit1 编辑值是Id
(这是我的主列),我想在 ButtonEdit1 文本中获取标识值。
除非使用 SQL 命令,否则我可以这样做吗Select @IDentity
谢谢。
c# - 数据适配器与 Sql 命令
哪一个更好地执行 ms-sql 数据库的插入语句:
Sql DataAdapter 还是 SQL 命令对象?
哪个会更好, whileinserting only one row
和 while inserting multiple rows
?
一个简单的代码使用示例:
SQL 命令
SQL 数据适配器
asp.net - 向 dataAdapter.fill() 添加参数
我正在尝试将参数添加到 sqlDataAdapter。我尝试使用 parameters.add() 但适配器不是 sqlCommand。这是我的一些代码。
基本上我正在尝试做这样的事情:
c# - SqlDataAdapter 获取身份
我正在执行以下操作来获取插入行的标识:
有没有办法自动获取身份?
.net - SqlDataAdapter.Update 静默失败
在我的应用程序中,我有一个向用户显示数据库表内容的控件。此控件保存要在System.Data.DataSet
对象中显示的数据。用户可以修改控件中显示的数据,然后在用户完成后将这些数据提交回数据库。
当用户在控件中进行编辑时,当数据库表中的数据被某些外部进程修改(例如,某些行已被更新)时,就会出现问题。暂时忽略数据正确性的问题,我想做的是提交用户在控件中所做的更改并覆盖此外部进程所做的更改。
我正在使用 aSqlDataAdapter
来更新数据库。在所描述的用例中,当底层数据库表未被外部进程修改时,SqlDataAdapter.Update
将按预期工作。但是,在某些外部进程在用户编辑表时摆弄表的情况下,SqlDataAdapter.Update
不会引发异常,而是返回 0 表示没有更新任何行。我已经检查了我的数据集中的行是否具有正确的数据和RowState
(即DataRowState.Modified
)所以我知道我传递给该SqlDataAdapter.Update
方法的数据是正确的。
我想我的问题有两个部分。
- 为什么
SqlDataAdapter.Update
不使用指定的数据集更新数据库? - 为什么它会默默地失败?
我已阅读此博客条目,并且我的代码在任何地方都没有调用AcceptChanges
,并且正如我上面所说的,我已经检查了DataSet
's RowState
,所以我知道这些行被正确标记为具有修改的数据。
vb.net - SQLDataAdapter 用主键填充数据表会产生错误并退出子
好的,所以这需要一些解释。
我正在尝试做的过程是从 SQL 中的表函数中获取数据,然后用返回的值填充数据集。然后,我必须再运行两次此查询来查询备用号码表。然后添加到与先前查询相同的表中。这需要尽可能快,所以我目前使用 adapter.fill 填充数据集,然后使用 dataset.merge 将它们全部放入一个表中。
问题是查询会返回重复的重复项,这会浪费时间和空间,因此我将第 3 列(part_ID)作为停止重复项的主键。
当它与 .merge 一起运行时,它会在重复的第一个实例中退出,并且不会继续填充。
下面的代码是我用来解决这个问题的,我只是想知道是否有更好更优雅的解决方案。
感谢您的任何帮助或建议^__^