问题标签 [tableadapter]

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 投票
2 回答
874 浏览

c# - 如何将属性添加到可以绑定的表适配器?

我有一个数据库表TravelRequest,其中包含字段SignOffNameSignOffDate. 我有一个TravelRequestTable基于此表的表适配器。我有一个 DetailsView 控件,它通过 ObjectDataSource 使用它。应该都是相当标准的东西。

我想要做的是添加一个名为SignOffNameDate表适配器的属性,该属性组合了两个字段能够在 DetailsView 控件中绑定到它。我想以编程方式而不是在 SQL 中添加另一列,因为处理空值很棘手,并且取决于其他一些业务规则。

这是我尝试过的:

当我以编程方式访问它时,此属性工作正常,但是当我尝试在我的 aspx 页面中绑定到它时:

我收到 System.Web.HttpException 异常,“在所选数据源上找不到名称为 'SignOffNameDate' 的字段或属性。”

任何想法我怎么能做到这一点?我需要添加到属性中的属性吗?

0 投票
4 回答
521 浏览

c# - 在组合框中显示选项时,将“空值”写入 SQL 数据库的最佳方法是什么?

我正在编写数据库的前端,将选项显示为组合框。而且我需要能够将空值返回到数据库。

我目前有一个解决方案,它涉及在查询中“伪造”一条记录以填充数据表,然后在null我的更新语句中检测到选择和硬编码(如果已选择该项目)。

.

.

任何人都可以建议一个更好的方法吗?我需要让应用程序处理另外 5 个类似的字段,并且不想创建多个 if else 版本的更新。

G

0 投票
11 回答
56033 浏览

c# - 当传递带有修改行的 DataRow 集合时,更新需要有效的 UpdateCommand

所以我上周有这个工作。至少,我以为我做到了! DataGridView 更新

然后我今天又开始做这个项目了

当传递带有修改行的 DataRow 集合时,更新需要有效的 UpdateCommand。

有一个额外的StagingTableAdapter查询,它以“过滤器”作为参数。那是用来填充的DataGridView。在创建该查询的向导中,我看到“生成了更新”。我看到大多数带有此错误的帖子都需要使用命令生成器生成更新语句。我该怎么办?

0 投票
1 回答
1459 浏览

c# - TableAdapter - 无密钥更新

我是 .net c# 业务的新手,上周我创建了一个表单应用程序来对 SSIS 配置的数据进行洗牌。MS 的天才们决定不对我正在使用的表应用一个键——并且生成两个候选字段的复合键将不起作用,因为它们的组合长度太长。我不想通过添加自动增量字段来弄乱 [ssis 配置] 表模式。

因此,我在从 DataGridView 控件获取更新以使用 TableAdapter 时遇到了很多麻烦。

我需要更新语句来更新表集 a = x 其中 b = y 和 c = z。

我可以设置 TableAdapter 的更新方法吗,如果可以,如何设置。如果没有,该怎么办?

我看到这个自动生成的代码:

但在我的表单代码中,UpdateCommand 不可用。我假设这是因为上面的代码是一个类定义,在创建对象后我无法更改。我看到此代码建议不要更改,因为它是由 VS 自动生成的。

感谢您最出色的建议。

0 投票
2 回答
518 浏览

.net - 仅在高流量期间出现 TableAdapter 错误

我正在处理其他人的大量使用 tableAdapters 的项目。该站点有效,但它经常在事件日志中添加一个条目:

“ExecuteReader 需要一个打开且可用的连接。连接的当前状态是正在连接。”

该站点不会抛出异常,除非流量很高(每秒 5 个以上的请求),否则异常是相同的,指向这行代码:

堆栈跟踪:在 System.Data.SqlClient.SqlConnection.ValidateConnectionForExecute(String 方法,SqlCommand 命令)的 System.Data.SqlClient.SqlConnection.GetOpenConnection(String 方法)

我怎样才能停止这个错误?谢谢。

原来我只得到了一半的图片,错误,当它会抛出一个错误是:

“已经有一个打开的 DataReader 与此命令关联,必须先关闭它。”

0 投票
2 回答
1636 浏览

.net - BindingSource 和 DataGridView

我有两个 DataGridView 通过 BindingSources 和 TableAdapaters 绑定到底层 DataSource。

我有两个模型;字符串和表格。表 -> [id,句柄,描述] 字符串 -> [id,句柄,table_id]

所以表格和字符串之间存在多对一的关系。

选择“表”DataGridView 以过滤“字符串”DataGridView 的内容的最简单方法是什么?

我了解“字符串”DataGridView 的数据源可以设置为“表格”DataGridView 的绑定源,但这不支持多选。

目前,当“表”DataGridView 上的选择发生更改时,我正在迭代选定的行并为“字符串”DataGridView 构建一个基于字符串的过滤器,但我发现这很慢而且很混乱。

有人知道更好的方法吗?

0 投票
1 回答
1252 浏览

c# - TableAdapter 偶尔会返回行数 1 但所有列都为空

我会在我的页面上刷新 20 次,它会工作,然后几分钟后它会停止工作 5 分钟。tableadapter 说它的计数为 1,但是当我访问一个属性时,例如: tableadapter1[0].property1 它会引发异常:

[StrongTypingException:表 'blogpull' 中列 'blogpull_keywords' 的值为 DBNull。]

但是当我在 SQL 管理中运行该方法后面的存储过程时,它不会返回任何空值,只是数据。

0 投票
1 回答
3519 浏览

vb.net - VB.NET:让 DataGridView 从存储过程中填充

我刚刚完成了 VB.NET 原型设计工作,而且我对 VB.NET 的经验并不丰富。

我必须创建一个按顺序返回自引用表的存储过程。有一次,我完成了我想要一个 DataGridView 来显示结果。

以前,我的团队通过 VB.NET 的 GUI 设计器做了很多这样的工作,所以很遗憾,我没有大量的代码可以描述。

我试图遵循他们的模式,我将在这里简要描述:

我有一个 DataGridView,它的 DataSource 属性指向一个 BindingSource。BindingSource 指向一个数据集。该 DataSet 的编辑器调用从存储过程中获取数据的 TableAdapter。

我预览了 TableAdapter 的数据。数据在那里。在 frmMain 的负载上运行 TableAdapter 的 Fill 命令。

什么都看不见。我的预感是,这是一个太复杂的过程,不可能是正确的。或者可能不是。在我决定打扰你们之前,我做了很多谷歌搜索。

0 投票
4 回答
2152 浏览

asp.net - ADO.NET 表适配器参数

我有一个查询,我希望通过一个包含“IN”子句的 ASP.NET TableAdapter 来运行,该子句通过参数接收它的值。

我的问题是,如何指定这个参数?我想写这样的条件语句:

其中@ParamList 是参数的字符串,例如“4,12,45,23”,但由于指定的 id 是整数,它抱怨它不能将字符串转换为整数。这是有道理的,但是有没有办法在 ASP.NET TableAdapter 的 SQL 语句中指定这样的列表?

0 投票
1 回答
1634 浏览

winforms - 表单数据绑定 - 数据集未更新?

我有一个表单(实际上是紧凑框架),其中包含几个字段、一个日期和一个字符串等。两个 TextBox 控件都绑定到 BindindSource 中的属性。

BindindSource 有一个 DataSet 作为其 DataSource 属性,而 DataMember 是 SQL CE 数据库中的一个表。

当我想添加一个新行时,我调用 bindingSource.AddNew(),然后调用 bindingSource.MoveLast()。表单显示默认值(在 DataSet 中定义),我可以编辑所有字段。

为了保存表单,我调用 bindingSource.EndEdit() 并使用 TableAdapter 方法将 DataSet 行中的值插入到数据库中。日期进入数据库,字符串没有。相反,保存的是字符串的默认值,而不是我在文本框中键入的值。

当我在调用 EndEdit() 后检查 DataSet 表行中的数据时,日期字段会使用表单中的数据进行更新,而字符串则不会。

奇怪的是,当我使用相同的表单(不调用 AddNew)编辑现有行时,字符串字段被更新并保持得很好。所以这只发生在对 BindingSource 调用 AddNew() 之后。我错过了什么?我应该从哪里开始寻找?

不幸的是,代码有点太多,无法在此处发布。