новое для кодирования и в настоящее время создающее систему баз данных для моего проекта уровня. Я пытаюсь взять данные из текстовых полей и ввести их в свою базу данных, однако мне представляется «Ошибка SqlException была необработанной ошибкой». Дополнительная информация: Неправильный синтаксис рядом с «Дата рождения». Вот код, написанный.Visual Basic SqlException
Connection.Open();
SqlCommand Command = new SqlCommand(null, Connection);
Command.CommandText = String.Format("Insert into EmployeeTable (Forename,Surname,'Date of Birth','Email address','Phone number',Country,Address,City,Postcode,'Skill 1','Skill 2','Skill 3','Job 1','Job 2','Job 3','Employee Availability') Values('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}',{11},{12},{13},{14})", ForenameInputBox.Text,
SurnameInputBox.Text, DoBInputBox.Text, EmailInputBox.Text, CountryInputBox.Text, AddressInputBox.Text, CityInputBox.Text,
PostcodeInputBox.Text, Skill1InputBox.Text, Skill2InputBox.Text, Skill3InputBox.Text, Job1InputBox.Text, Job2InputBox.Text,
Job3InputBox.Text, EmployeeAvailablityBox.Text);
Command.ExecuteNonQuery();
Connection.Close();
CREATE TABLE [dbo].[EmployeeTable] (
[EmployeeID] INT NOT NULL,
[Forename] NVARCHAR (50) NOT NULL,
[Surname] NVARCHAR (50) NOT NULL,
[Date of Birth] DATETIME NOT NULL,
[Email address] NVARCHAR (50) NOT NULL,
[Phone number] NVARCHAR (50) NOT NULL,
[Country] NVARCHAR (50) NOT NULL,
[Address] NVARCHAR (50) NOT NULL,
[City] NVARCHAR (50) NOT NULL,
[Postcode] NVARCHAR (50) NOT NULL,
[Skill 1 ] NVARCHAR (50) NOT NULL,
[Skill 2] NVARCHAR (50) NOT NULL,
[Skill 3] NVARCHAR (50) NOT NULL,
[Job 1 ] BIT NOT NULL,
[Job 2 ] BIT NOT NULL,
[Job3 ] BIT NOT NULL,
[Employee Availability] BIT NOT NULL,
PRIMARY KEY CLUSTERED ([EmployeeID] ASC)
^Моя таблица определения
EDIT:
Connection.Open();
SqlCommand Command = new SqlCommand(null, Connection);
Command.CommandText = "Insert into [EmployeeTable] (Forename,Surname,DateofBirth,Email address,Country,Address,City,Postcode,Skill1,Skill2,Skill3,Job1,Job 2,Job3,EmployeeAvailability) Values(@forename, @surname, @dateofbirth, @emailaddress, @phonenumber, @country, @address, @city, @postcode, @skill1, @skill2, @skill3, @job1, @job2, @job3, @employeeavailability)";
Command.Parameters.AddWithValue("@forename", ForenameInputBox.Text);
Command.Parameters.AddWithValue("@surname", SurnameInputBox.Text);
Command.Parameters.AddWithValue("@dateofbirth", DoBInputBox.Text);
Command.Parameters.AddWithValue("@emailaddress", EmailInputBox.Text);
Command.Parameters.AddWithValue("@country", CountryInputBox.Text);
Command.Parameters.AddWithValue("@address", AddressInputBox.Text);
Command.Parameters.AddWithValue("@city", CityInputBox.Text);
Command.Parameters.AddWithValue("@postcode", PostcodeInputBox.Text);
Command.Parameters.AddWithValue("@skill1", Skill1InputBox.Text);
Command.Parameters.AddWithValue("@skill2", Skill2InputBox.Text);
Command.Parameters.AddWithValue("@skill3", Skill3InputBox.Text);
Command.Parameters.AddWithValue("@job1", Job1InputBox.Text);
Command.Parameters.AddWithValue("@job2", Job2InputBox.Text);
Command.Parameters.AddWithValue("@job3", Job3InputBox.Text);
Command.Parameters.AddWithValue("@employeeavailability", EmployeeAvailablityBox.Text);
Command.ExecuteNonQuery();
Connection.Close();
}
}
^Необработанное исключение типа 'System.Data.SqlClient.SqlException' произошло в System.Data.dll
Дополнительная информация: Неправильный синтаксис около 'адреса'.
Вашего столбец не будет называться ' 'Датой Birth'', в чем его фактическом имя? То же самое для остальных внутри кавычек. Кроме того, посмотрите на параметризованные запросы, ваш текущий код открыт для атаки. – Equalsk
Вот мое определение таблицы, я подумал, что это будет дата рождения, так как здесь он говорит? –
Имена столбцов не будут иметь пробелов. – Equalsk