Неправильный синтаксис рядом с 'int'. Необходимо объявить скалярную переменную "@".
Описание: Необработанное исключение возникло во время выполнения текущего веб-запроса.
Что я уже пробовал:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Data.SqlClient; namespace Taxi { public partial class Add_New_Driver : Form { SqlConnectionStringBuilder bldr; SqlConnection cn; public Add_New_Driver() { InitializeComponent(); bldr = new SqlConnectionStringBuilder(); bldr.DataSource = @"HOME-ПК\MYSQL"; bldr.IntegratedSecurity = true; // bldr.AttachDBFilename = @"E:\Programs\SQL\MSSQL12.MYSQL\MSSQL\DATA\Тест_Автотранспортное_Предприятие.mdf"; bldr.AttachDBFilename = @"E:\Тест_Автотранспортное_Предприятие.mdf"; // bldr.AttachDBFilename = "" + Application.StartupPath.ToString() + "\\" + "Тест_Автотранспортное_Предприятие.mdf"; label1.Text = "Дата рождения"; label2.Text = "Категория водительского удостоверения"; label3.Text = "Семейное положение"; label4.Text = "Фамилия Имя Отчество водителя"; button1.Text = "Добавить"; } private void Add_New_Driver_Load(object sender, EventArgs e) { } private void button1_Click(object sender, EventArgs e) { string strSQL; using (SqlConnection cn = new SqlConnection(bldr.ConnectionString)) { try { cn.Open(); strSQL = "SELECT * FROM Водители"; SqlDataAdapter da = new SqlDataAdapter(strSQL, cn); DataTable t = new DataTable("Водители"); da.Fill(t); DataRow rowToInsert; rowToInsert = t.Rows.Add(new object[] { Convert.ToInt32(textBox4.Text), dateTimePicker1.Value.ToString("yyyy-MM-dd"), textBox1.Text, textBox2.Text, textBox3.Text }); string strInsert = @"INSERT INTO Водители ([Код водителя], [Дата рождения], [Категория водительского удостоверения], [Семейное положение], [Фамилия Имя Отчество водителя])" + "VALUES (@[Код водителя], @[Дата рождения], @[Категория водительского удостоверения], @[Семейное положение], @[Фамилия Имя Отчество водителя]) "; SqlCommand cmdInsert = new SqlCommand(strInsert, cn); cmdInsert.Parameters.AddWithValue("@Код водителя", rowToInsert["Код водителя"]); cmdInsert.Parameters.AddWithValue("@Дата рождения", rowToInsert["Дата рождения"]); cmdInsert.Parameters.AddWithValue("@Категория водительского удостоверения", rowToInsert["Категория водительского удостоверения"]); cmdInsert.Parameters.AddWithValue("@Семейное положение", rowToInsert["Семейное положение"]); cmdInsert.Parameters.AddWithValue("@Фамилия Имя Отчество водителя", rowToInsert["Фамилия Имя Отчество водителя"]); cmdInsert.ExecuteNonQuery(); rowToInsert.AcceptChanges(); /* string insertWorker = "INSERT INTO Водители VALUES (" + Convert.ToInt32(textBox4.Text) + ",'" + dateTimePicker1.Value + "','" + textBox1.Text + "','" + textBox2.Text + "','" + textBox3.Text + "')"; SqlCommand insert = new SqlCommand(insertWorker, cn); if (insert.ExecuteNonQuery() == 1) MessageBox.Show("Запись успешно добавлена!", "Добавление записи", MessageBoxButtons.OK, MessageBoxIcon.Information);*/ cn.Close(); } catch (SqlException ex) { MessageBox.Show(ex.Message); } } } } }