0

MDB ファイルから最初のクエリを取得して実行する次の C# コードがあります。

        OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\db1.mdb");
        conn.Open();
        DataTable dt = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Procedures, null);
        OleDbCommand cmd = new OleDbCommand();
        cmd.Connection = conn;
        cmd.CommandType = CommandType.Text;
        cmd.CommandText = dt.Rows[0]["PROCEDURE_DEFINITION"].ToString();
        cmd.ExecuteReader();

必須パラメーターの値を指定していないため、最後の行でエラーが発生します。このコードを、任意の数のパラメーターを使用して任意のクエリで動作させたいのですが、特定のクエリについて Access からパラメーターのリストを取得するにはどうすればよいでしょうか? このようにして、Access と同じように、ユーザーにそれぞれの値を入力するように求めることができます。

クエリは次のようになるため、自分で解析することはできないと思います。

select * from Orders where [名前] = [ニックネーム]

テーブルのすべてのフィールド名を知らなければ (多くの JOINS で非常に複雑になります)、[名前] がテーブル内の列なのか、[ニックネーム] と同じように指定する必要があるパラメーターなのかわかりません。すべてのフィールド名を取得するためにスキーマ情報をさらに検索できると思いますが、もっと簡単な方法があるといいのですが。

特定の MDB ファイルからのクエリのリストを持つ Winforms .NET C# フォームを作成しようとしています。ユーザーはこれらのクエリのいずれかを選択でき、その結果を DataGridView に表示します。結果を表示するには、クエリを実行する必要がありますが、正しいパラメーターを指定しないとクエリを実行できません。

4

0 に答える 0