0

ネストされた for ループを使用して 2 つのデータ テーブルを一度に反復処理してそれらを比較しようとしましたが、外側のループは条件付き変数の外に出続けます。

query_strg = "my query"
rs = New SqlCommand(query_strg, myconn)
adap.SelectCommand = rs
adap.Fill(dset)
count = dset.Rows.Count
For k = 0 To (count - 1)
    For j = 0 To (dset1.Rows.Count - 1)
    If (dset1.Rows(j)("name2").ToString() =dset.Rows(k)("name1").ToString() 
    OrElse (dset.Rows(k)("name2").ToString() = "General" 
    OrElse (dset.Rows(k)("name2").ToString() = "general" 
    OrElse (dset.Rows(k)("name2").ToString() = "Reports")))) Then
            dset.Tables(0).Rows(k).Delete()
            dset.Tables(0).AcceptChanges()
            count = dset.Tables(0).Rows.Count
        End If
    Next j
Next k

これは私のコードです.... dsetには単一の列のみが含まれ、dset1には5つの列が含まれます。dset1 の単一の列を dset と比較する必要があり、等しい場合はその列を削除する必要があり、必須の他の比較も実行しました....

しかし問題は、外側の for ループが範囲外になり、if 条件の 1 つが「no row available at no.」として例外をスローすることです。そんな感じ....

for ループが範囲外になる理由と、それに対する解決策がないかどうかを知る必要があります... このアクションを実行するには、別のアイデアが必要です。

4

1 に答える 1