Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 如何在不使用主键方法的情况下检查数据表中是否存在datarow_Vb.net_Search_Datatable_Datarow - Fatal编程技术网

Vb.net 如何在不使用主键方法的情况下检查数据表中是否存在datarow

Vb.net 如何在不使用主键方法的情况下检查数据表中是否存在datarow,vb.net,search,datatable,datarow,Vb.net,Search,Datatable,Datarow,我正在使用VB.NET,我想检查一个数据表(表a)中的一个数据行(行a)是否存在于另一个数据表(表B)中 我曾尝试使用以下代码: TableA.Rows.Contains(RowA) 我收到一条错误消息,说明: “用户代码未处理MissingPrimaryKeyException。表没有主键” 您能建议我如何在不使用主键方法的情况下搜索datatable中的datarow吗 多谢各位 检查RowA,如果是,表中不包含它 没有主键,我不知道怎样才能让它工作得更好 Dim i As Integer

我正在使用VB.NET,我想检查一个数据表(表a)中的一个数据行(行a)是否存在于另一个数据表(表B)中

我曾尝试使用以下代码:

TableA.Rows.Contains(RowA)
我收到一条错误消息,说明: “用户代码未处理MissingPrimaryKeyException。表没有主键”

您能建议我如何在不使用主键方法的情况下搜索datatable中的datarow吗

多谢各位

检查RowA,如果是,表中不包含它

没有主键,我不知道怎样才能让它工作得更好

Dim i As Integer = (datatable.Rows.Count - 1)
Do While (i >= 0)
    If datatable.Rows(i)("Column1") = RowA("Column1") And datatable.Rows(i)("Column2") = RowA("Column2")  Then
        datatable.Rows(i).Delete
    End If
    i = i - 1
Loop

当然,您必须更改列的名称。

行中的数据是什么样子的?这两个表中的行意味着什么?这是否意味着数据是相同的?或者两个表中的实际DataRow对象是相同的?@Derek,DataRow中的数据类型由String和Boolean组成。换句话说,它包含布尔和字符串的混合列。表A和表B具有相同的数据结构。(两者具有相同的列)。当我删除表a中的特定行时,我希望在表B上执行相同的任务。