我正在使用此代码尝试将.csv文件上传到sql中。它在路径硬编码时有效但如果我尝试从文本框添加参数结果,则会导致NewLine in Constant错误。我需要做些什么来纠正这个问题。
using (SqlCommand cmd = new SqlCommand(@"BULK INSERT Alpha.dbo.Beta
FROM '"+FileUpload_TextBox.Text+"'
WITH
(
FIELDTERMINATOR=',',
ROWTERMINATOR='\n',
FIRSTROW=2
)
", MyConnection))
答案 0 :(得分:1)
使用以下代码:
FileUpload_TextBox.Text.Replace(Enviroment.NewLine,"")
它将从字符串
中删除新的行字符答案 1 :(得分:1)
您不应该以这种方式指定参数。使用SQL参数 - 它可能会解决您的问题:
using (SqlCommand cmd = new SqlCommand(@"BULK INSERT Alpha.dbo.Beta
FROM @FilePath
WITH
(
FIELDTERMINATOR=',',
ROWTERMINATOR='\n',
FIRSTROW=2
)
", MyConnection))
{
cmd.Parameters.AddWithValue("@FilePath", FileUpload_TextBox.Text);
...
}
如果仍然无效,请在添加参数时使用@Garath答案:
cmd.Parameters.AddWithValue("@FilePath",
FileUpload_TextBox.Text.Replace(Enviroment.NewLine,""));