2014-01-28 5 views
0

Я использую этот код, чтобы попробовать загрузить CSV-файл в sql. Он работает, когда путь жестко закодирован, но если я попытаюсь добавить результат параметра из текстового поля, это приведет к ошибке NewLine in Constant. Что мне нужно сделать, чтобы исправить эту проблему.массовая загрузка в sql

using (SqlCommand cmd = new SqlCommand(@"BULK INSERT Alpha.dbo.Beta 
     FROM '"+FileUpload_TextBox.Text+"' 
     WITH 
     (
      FIELDTERMINATOR=',', 
      ROWTERMINATOR='\n', 
      FIRSTROW=2 
     ) 
     ", MyConnection)) 
+0

Просьба опубликовать сообщение об ошибке вы получаете , – bluejaded

+0

SQL Injection Alert! – rhughes

+0

красные squiggles появляются под символом + "", и при наведении на него появляется NewLine Constant Error – AC3

ответ

1

Используйте следующий код:

FileUpload_TextBox.Text.Replace(Enviroment.NewLine,"") 

Это удалит новые символы строки из строки

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,"")); 
+0

Когда я использую приведенный выше код, который вы вначале выдаете, он подчеркивает его зеленым цветом, говоря, что он устарел и устарел. второй код говорит, что «среда» не существует в текущем контексте? – AC3

+0

Я обновил ответ, чтобы исправить устаревшую проблему. О второй проблеме вы уверены, что у вас есть 'using System;'? –

+0

Теперь нет ошибки в сборке, но когда я запускаю код, который он разбивает, и приводит к сообщению об ошибке, в котором неправильный синтаксис рядом с @FilePath – AC3

Смежные вопросы