0

コマンドを使用せずにデータアダプターを埋めようとしています。手動で入力したデータセットがありますが、このデータセットを dataAdapter にアタッチしようとすると、「'Fill' を呼び出す前に Select コマンド プロパティが初期化されていません」というメッセージが表示されます。これは私のコードですが、誰かがこれについてアイデアを持っていますか?

ありがとう

OleDbDataAdapter ad1=new OleDbDataAdapter(cmd);
OleDbDataAdapter ad2=new OleDbDataAdapter(cmd2);
OleDbDataAdapter ad3 = new OleDbDataAdapter();

DataSet ds = new DataSet();
DataTable db1=new DataTable();
DataTable db2=new DataTable();
DataTable db3 = new DataTable();
ds.Tables.Add();

ad1.Fill(db1);
ad2.Fill(db2);
int i;
foreach (DataRow r in db2.Rows)
{
    i = 0;
    foreach (DataRow rc in db1.Rows)
    {
        if (r[0].ToString() == rc[0].ToString())
        {
            i = 1;
        }
    }
    if (i == 0) { ds.Tables[0].ImportRow(r); }

}
ad3.Fill(ds);
4

1 に答える 1

0

ここで何を達成しようとしているのか完全にはわかりません。説明からは不明です。すでに DataSet にデータを配置しています:

    ds.Tables[0].ImportRow(r);

また、どのタイプのデータ アダプタでも、データ テーブルまたはデータ セットに入力するには、少なくとも SELECT コマンドが関連付けられている必要があります。

あなたの目的をもう少し明確に説明していただけますか?データセットにテーブルを追加しようとしていますか? 外部ソースから入力しますか?インポートした行を表示しますか?

于 2013-04-18T16:01:07.840 に答える