Soooooooo ...我有一个SQL Server表,我需要从我导入的csv文件的内容更新。基本上如果我有一个记录,其密钥与Cell A的内容相匹配,我将用Cell B的内容更新该记录的一个字段。从我在其他地方找到的一些片段,似乎我需要创建一个临时表,我有完成如下:
protected void UploadBtn_Click(object sender, EventArgs e)
{
string csvPath = Server.MapPath("~/Uploads/") + Path.GetFileName(RadAsyncUpload1.UploadedFiles[0].FileName);
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[2] { new DataColumn("Customer Ref", typeof(string)),
new DataColumn("Inventory #", typeof(string)),
});
string csvData = File.ReadAllText(csvPath);
foreach (string row in csvData.Split('\n'))
{
if (!string.IsNullOrEmpty(row))
{
dt.Rows.Add();
int i = 0;
foreach (string cell in row.Split(','))
{
dt.Rows[dt.Rows.Count - 1][i] = cell;
i++;
}
}
}
}
}
}
但我很沮丧地知道从哪里开始......
非常感谢任何建议/建议/指示!
一如既往地谢谢,
保
答案 0 :(得分:0)
因此,在您的示例代码中,您已使用CSV文件的内容在(您的程序中,而不是SQL Server中)内存中创建了DataTable
。这并没有为你的目标带来任何好处。
您需要将数据上传到SQL Server中的临时表,然后执行UPDATE
语句将临时表加入实时数据。
在此过程中,您将需要连接到SQL服务器,并执行命令以创建临时表,在循环中执行命令以将记录上载到该临时表,使用update语句执行命令,最后删除临时表的命令。