对所有这些都是新手,但正在快速学习曲线。
我一直在寻找,但不能拼凑我需要的东西。
我正在使用Lumenworks CsvReader来读取csv文件中的数据 - 到目前为止一直很好,而且我正在看数据。接下来我需要将这些数据传递给SQLite。
我遇到的问题是尝试将该信息传递到循环中的INSERT语句中,所以希望有人可以帮助我吗?
我知道错误在于我的循环,(我知道格式可能有误),但我无法弄明白。谢谢你提前提供任何帮助。
到目前为止,这是我的代码:
command.CommandText = @"CREATE TABLE [Test] ([Code] VARCHAR(50) PRIMARY KEY NOT NULL , [Description] VARCHAR(100),[RRP] NUMERIC DEFAULT (null) ,[Points] NUMERIC, [Buy] NUMERIC DEFAULT (null) )";
command.ExecuteNonQuery();
string insertText = "INSERT INTO [Test] ([Code],[Description],[RRP],[Points],[Buy]) VALUES(@Code,@Description,@RRP,@Points,@Buy)";
SQLiteTransaction trans = conn.BeginTransaction();
command.Transaction = trans;
command.CommandText = insertText;
using (CsvReader csv = new CsvReader(new StreamReader(@"C:\Data.csv"), true))
{
int fieldCount = csv.FieldCount;
string[] headers = csv.GetFieldHeaders();
while (csv.ReadNextRecord())
{
for (int i = 0; i < fieldCount; i++)
command.Parameters.AddWithValue("@Code", csv[i]);
command.Parameters.AddWithValue("@Description", csv[i]);
command.Parameters.AddWithValue("@RRP", csv[i]);
command.Parameters.AddWithValue("@Points", csv[i]);
command.Parameters.AddWithValue("@Buy", csv[i]);
command.ExecuteNonQuery();
}
}