0

我编写了一个函数,该函数应该使用 C# 将三个项目插入到 MS Access 表中:

      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();

    }

首先,似乎有一个错误,我不知道是什么?

其次,是否有可能使它成为一个通用函数,这样如果你说 10 列它仍然可以工作并动态调整大小headers.Length

谢谢!

4

1 回答 1

0

您不使用 SQLConnection / SQLCommand 连接到 MSAccess。使用 OledbConnection。纠正那个,那应该有效。您可以通过链接获取更多信息。

您需要查询最多可以接受 10 个列名的类型。您需要为此编写自己的逻辑。

于 2013-07-25T14:47:51.377 回答