Моя цель - создать новый database
для новых брендов, которые пользователь добавит на веб-сайт. Я создал код для выполнения такой задачи, но это дает мне этот exception
:Как создать новую базу данных в asp.net?
Исключение типа «System.Data.SqlClient.SqlException» произошло в System.Data.dll, но не обрабатывается код пользователя Дополнительная информация : Неверный синтаксис рядом с символом «char».
Я уже несколько раз просматривал код, но я до сих пор не могу найти основную причину проблемы.
Вот код:
public static void CreateGuitarBrandsDatabase(string brand)
{
SqlConnection createBrandData = new SqlConnection(@"Data Source=Y560\SQLEXPRESS;Initial Catalog=GuitarItemsDB;Integrated Security=True");
createBrandData.Open();
SqlCommand cmdBrandData = new SqlCommand("CREATE TABLE guitarItem" + brand + "(id int,type char(50),model char(50),price float,image1 char(255),image2 char(255),description text,neck type char(100),body char(100), fretboard char(100),fret char(50),bridge char(100),neck pickup char(100),bridge pickup char(100),hardware_color char(50));", createBrandData);
cmdBrandData.ExecuteNonQuery();//The exception seems to be pointing right here
createBrandData.Close();
}
Вы не можете использовать пробелы для имен столбцов, если вы не окружите имя квадратом uare brakets, например '' [bridge pickup] char (100) "' – Gusman
, если бренд предоставляется пользователю (похоже, это так), этот код уязвим для атак SQL-инъекций. – dman2306
@ dman2306 - О, дерьмо! хорошо спасибо за информацию. – BrunoEarth