1

我为我拥有的存储过程创建了一个表适配器,它从表中返回一行。将其添加到数据集后,我尝试遍历该表的行数以检索数据,但它一直没有返回任何行。如果我尝试在数据集设计器中预览数据,我会正常获得该行,但是当我在代码中尝试它时,我什么也得不到

For intI As Integer = 0 To Me.Ds1.SP_Get_Data_Communication_Parameters.Rows.Count - 1

            Dim IP As String = Ds1.SP_Get_Data_Communication_Parameters.Rows(intI)("Remote_IP_address")

        Next
4

1 回答 1

2

表适配器是一种在数据库和数据表之间双向移动数据的设备。

数据表是数据集的一部分(数据集是数据表的集合),并且是(部分或全部)数据库表的客户端表示。

要使用数据库数据,您可以使用 tableadapter 将其从数据库表传输到数据表。你使用它,也许编辑它,也许将它保存回数据库

根据您的描述,听起来您实际上并没有在检查数据之前使用 tableadapter 来填充数据表。数据集设计器只是 tableadapter 和相关数据表类的可视化表示;这并不意味着数据库数据在您的程序中自动可用

您需要有如下代码:

Dim ta As New YourDatasetNameTableAdapters.SP_Get_Data_Communication_ParametersTableAdapter()

ta.Fill(Me.Ds1.SP_Get_Data_Communication_Parameters, any, parameters, the, sproc, needs, here)

然后你可以通过数据表查看TA下载的数据


编辑脚注:

如果您对行进行更改,例如

For Each ro in Ds1.SP_Get_Data_Communication_Parameters 
  ro.FirstName = "John"
Next ro

然后您可以使用表适配器的 Update 方法将更改发送回数据库

at.Update(Ds1.SP_Get_Data_Communication_Parameters)

更新将运行所有不同类型的查询,而不仅仅是更新。新添加的行将是 INSERT。删除的行将被删除。微软真的应该称它为 SaveChanges

于 2022-01-18T07:43:45.497 回答