问题标签 [dataadapter]
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# - DataAdapter 是一种将数据插入 SQL Server 数据库的可靠方法吗
昨天我的同事告诉我,使用数据适配器将数据插入到sql server数据库中是不可靠的,因为它不能保证数据插入正确。他还告诉我,如果数据插入不成功,它不会显示任何类型的错误消息。
我真的很困惑。我认为微软发明了 ado.net,以便可以将数据插入数据库而没有任何额外的危险。
你们有什么感想?数据适配器不可靠吗?
c# - 填充数据集的问题
这是我的代码文件的一小部分。每次我的调试器到达“NewDA.Fill(NewDS);”行 在运行时它会跳转到捕获。我很肯定 daynumber 变量获得了一个存在于数据库中的值,并且我已经在我的数据库上的代码文件之外尝试了查询,它工作正常。我还在代码的更多部分使用连接字符串“db”并获得成功。
.net - .NET TableAdapter 到 DataAdapter
TableAdapter 是 DataAdapter 的包装器。以通用方式使用 TableAdapters 是不可能的(因为它们继承了 Component 类)。是否可以从 TableAdapter 中取出包装好的 DataAdapter?
sql-server-2005 - 在 DataAdapter.Update/Refresh 后未设置 DataTable 标识列,使用“而不是”触发器(SqlServer 2005)
在我们的单元测试中,我们使用普通的 ADO.NET(DataTable、DataAdapter)来准备数据库。检查结果,而测试的组件本身在 NHibernate 2.1 下运行。.NET 版本是 3.5,SqlServer 版本是 2005。
数据库表将标识列作为主键。一些表应用而不是插入/更新触发器(这是由于向后兼容性,我无法更改)。触发器通常是这样工作的:
ADO.NET DataAdapter 发出的插入语句(由瘦 ADO.NET 包装器即时生成)尝试将标识值检索回 DataRow:
但是 DataRow 的 id-Column 仍然为 0。当我暂时删除触发器时,它工作正常 - id-Column 然后保存数据库设置的标识值。
另一方面,NHibernate 使用这种插入语句:
这行得通,NHibernate POCO 在刷新后立即正确设置了其 id 属性。这对我来说似乎有点违反直觉,因为我希望触发器在不同的范围内运行,因此 @@identity 应该比 scope_identity() 更适合。
所以我认为没问题,我也会在 ADO.NET 下应用 scope_identity() 而不是 @@identity。但这没有任何效果,DataRow 值仍然没有相应地更新。
现在最好的部分是:当我将这两个语句从 SqlServer 分析器复制并粘贴到 Management Studio 查询中(包括“exec sp_executesql”)并在那里运行它们时,结果似乎是相反的!ADO.NET 版本在那里工作,而 NHibernate 版本不工作(选择 scope_identity() 返回 null)。我多次尝试验证,但无济于事。好吧,实际上这正是我所期望的——@@identity 没问题,而 scope_identity() 失败了。
当然,在 Management Studio 中调用它只会显示来自数据库的结果集,无论 NHibernate 和 ADO.NET 内部发生什么,都是另一个话题。此外,T-SQL SET 定义的几个会话属性在两个场景中是不同的(Management Studio 查询与运行时的应用程序)
这对我来说是一个真正的难题。我会很高兴对此有任何见解。谢谢!
c# - 这些 .NET 自动生成的表适配器命令有什么作用?例如 UPDATE/INSERT 后跟一个 SELECT
我正在使用一个我正在尝试更改的遗留应用程序,以便它可以与 SQL CE 一起使用,而它最初是针对 SQL Server 编写的。
我现在遇到的问题是,当我尝试执行 dataAdapter.Update 时,SQL CE 抱怨它不希望在命令文本中使用 SELECT 关键字。我相信这是因为 SQL CE 不支持批处理 SELECT 语句。
自动生成的表适配器命令如下所示...
它在做什么?看起来它正在将数据表中的新记录插入到数据库中,然后将该记录从数据库中读回数据表中?那有什么意义呢?
我可以浏览代码并删除所有这些 SELECT 语句吗?或者有没有更简单的方法来解决我想要将这些数据适配器与 SQL CE 一起使用的问题?
我无法重新生成这些表格适配器,因为那些知道如何早已离开的人。
c# - 从数据集中更新数据库?
我想从我的数据集中更新我的数据库。
然后它返回此错误
你有什么建议吗?
c# - C# SQL 数据适配器 System.Data.StrongTypingException
我通过填充将数据从 SQL 获取到数据集。它只是一个包含两列(CategoryId (int) 和 CategoryName (varchar))的表。
当我在填充方法后查看我的数据集时,CategoryId Columns 似乎是正确的。但是在 CategoryName 我有一个System.Data.StrongTypingExceptio n。
那意味着什么?
有任何想法吗?
c# - SQLiteDataAdapter 更新方法返回 0
我从我的 CSV 文件中加载了 83 行,但是当我尝试更新 SQLite 数据库时,我得到 0 行......我不知道我做错了什么。
程序输出:
源代码是:
关于为什么它没有更新正确的行数的任何提示?
更新:
我试图在调用 update 之前设置命令,但我仍然遇到同样的问题......现在的代码是:
当我调试它时,命令文本是:_commandText = "INSERT INTO [Tags] ([tagId], [tagName], [description], [colName], [dataType], [realTime]) VALUES (@param1, @param2, @param3, @param4, @param5, @param6)"
这是一个以 xml 格式显示数据集状态的粘贴图:http: //pastie.org/936882
ado.net - DataReader、DataAdapter 和 DataSet - 何时使用?
我想知道什么时候必须使用这些 ADO.NET 组件???有人可以举个例子吗?
.net - DataSource 和 DataAdapter 有什么区别?
DataSource 和 DataAdapter 有什么区别?我正在尝试决定是否应该从 IDataSource 或 IDataAdapter 下降以在 Winforms 和 WebForms 之间共享代码,除了使用它们的方式略有不同之外,我似乎无法弄清楚区别是什么。