0

C# を使用して、MS Access テーブルに 3 つの項目を挿入する関数を作成しました。

      public static void appenddatatotable(string connectionstring, string tablename, string[] headers, string[] values)
    {

            var myconn = new OleDbConnection(connectionstring);

            var cmd = new OleDbCommand("INSERT INTO" + tablename +" (x, y, z) VALUES (@x, @y, @z)");
            cmd.Parameters.AddRange(new[] { new OleDbParameter(headers[0], values[0]), new OleDbParameter(headers[1], values[1]), new OleDbParameter(headers[2], values[2]) });
            myconn.Open();
            cmd.ExecuteNonQuery();
            myconn.Close();

    }

まず、間違いがあるようで、何がわからないのですか?

2番目に、これを汎用関数にして、10列と言う場合でも機能し、動的にサイズ変更できるようにすることは可能headers.Lengthですか?

ありがとう!

4

1 に答える 1

0

MSAccess への接続に SQLConnection / SQLCommand を使用しません。OledbConnection を使用します。それを修正すると、うまくいくはずです。詳細については、このリンクを参照してください。

最大 10 個の列名を受け入れることができるそのタイプのクエリを作成する必要があります。そのための独自のロジックを記述する必要があります。

于 2013-07-25T14:47:51.377 に答える