我已进行了尽可能多的搜索,找不到任何可以帮助我的东西。因此,我所拥有的是一个脚本,该脚本可以读取/拆分并将.txt文件中的数据存储到某些数组中。(这里列出的是Vndnbr)。我遇到的麻烦是如何将数组中的每个条目输入为MS Access表中一列下的条目?这是我到目前为止所拥有的:
public void AddToDatabase()
{
OleDbCommand command;
OleDbConnection connection =
new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=filepath");
foreach (string x in Vndnbr)
{
cmdstringVND[k] = "insert into Table1 (Vndnbr) Values (x)";
k++;
command = OleDbCommand(cmdstringVND[k],connection);
}
command.Parameters.AddWithValue("?", ReadFromFile("filepath"));
connection.Open();
command.ExecuteNonQuery();
connection.Close();
}
我不熟悉Access库,也不熟悉应该在AddwithValue的第一个参数中插入什么,因为在进行一些研究后我只是复制粘贴了这些行。如果有人可以帮助我将数组中的所有数据添加到表中,将不胜感激。
您的代码中有很多错误
您尝试仅执行最后一条命令,因为ExecuteNonQuery在循环之外
public void AddToDatabase()
{
string cmdText = "insert into Table1 (Vndnbr) Values (?)";
using(OleDbConnection connection = new OleDbConnection(.....))
using(OleDbCommand command = new OleDbCommand(cmdText, connection))
{
connection.Open();
command.Parameters.AddWithValue("@p1", "");
foreach (string x in Vndnbr)
{
command.Parameters["@p1"].Value = x;
command.ExecuteNonQuery();
}
}
}
我已经更改了您的代码,以包括using语句来正确关闭和处理连接和命令,然后在循环外初始化了命令,将通用字符串作为参数占位符进行了传递,并使用虚拟值初始化了此参数。
在循环内部,我用您的Vndnbr
列表获得的实际值替换了先前的参数值并执行了命令。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句