2014-01-06 2 views
0

Я относительный новичок и пытаюсь вставить несколько строк (и данные из текстовых полей) из одной таблицы в другую и застрять.Visual Basic.Net Вставьте несколько строк в таблицу

Этот SQL идентифицирует данные, которые должны быть вставлены в таблицу

strsql = "SELECT '" & textbox1.text & "', '" & Textbox2.text & "', " 
strsql = strsql & " a.TaskNum, a.StartDay, a.NumofDays FROM VETTimeLines as a" 
strsql = strsql & " ORDER BY a.StartDay" 

Я начал вдоль линий -> Вставить в StudentProgram Values ​​() код, приведенный выше, после 3-х дней попыток я теперь с нетерпением жду к вашему совету.

Большое спасибо в ожидании Peter

+0

Удалось ли установить соединение с вашей базой данных? Что такое столбец первичного ключа? У вас есть текущий код вставки? Также какая СУБД (MS-Access, SQL Server и т. Д.)? – NoChance

+1

То, что вы делаете, опасно и приведет к взлому ваших баз данных, скорее всего, скорее раньше, чем позже. Читайте об атаках по SQL-инъекциям и параметризованных запросах, прежде чем делать что-либо еще. –

ответ

0

Вставка данных с помощью C# могут быть выполнены в различных формах, таких как использование Entity Framework или с помощью ADO.NET, как вы выбрали, чтобы делать в этом случае.

Используя ADO.NET, вы либо записываете вставку, как и вы, либо используя подход DataAdapter. DataAdapter способен создавать SQL-код для вас, среди прочего. Например, см.: SQL DataAdapter. Это хорошая идея не строить строку SQL, как вы это делали из-за SQL-инъекции угрозы, как @Joel Coehoorn указывает в своем комментарии выше.

Один из способов преодоления этого - использовать параметры, как показано в приведенной выше ссылке. Если вы решите предоставить SQL для вставки себя с параметрами, вот хороший пример: StackOverFlow-Insert using ADO.

Идея всего вышеприведенного кода заключается в создании объекта соединения, создании объекта параметра, создании объекта команды, открытии соединения с базой данных, выполнении команды и закрытии соединения.

Попробуйте использовать один из приведенных выше способов и дайте нам знать вашу конкретную проблему, если она возникнет.

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