Table
- зарезервированное слово для T-SQL.Вам нужно написать это между [ ]
, если это действительно имя вашей таблицы.
Вот так.
insert into [Table] values
...
https://docs.microsoft.com/en-us/sql/t-sql/language-elements/reserved-keywords-transact-sql?view=sql-server-2017
Обновление с параметрами для второй проблемы (неверное количество столбцов ...)
Как вставить данные в таблицу SQL с использованием C #, а такжереализовать функцию загрузки?
SqlCommand cmd = con.CreateCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "INSERT INTO [Table] (ColumnName1, ColumnName2, ColumnName3, ColumnName4, ColumnName5) VALUES (@ColumnName1, @ColumnName2, @ColumnName3, @ColumnName4, @ColumnName5)";
cmd.Parameters.AddWithValue("@ColumnName1", textBox1.Text);
cmd.Parameters.AddWithValue("@ColumnName2", textBox2.Text);
cmd.Parameters.AddWithValue("@ColumnName3", textBox3.Text);
cmd.Parameters.AddWithValue("@ColumnName4", textBox4.Text);
cmd.Parameters.AddWithValue("@ColumnName5", textBox5.Text);
cmd.ExecuteNonQuery();
con.Close();
Просто замените ColumnName1
ColumnName2
... на имя ваших столбцов и textBox1.Text
, textBox2.Text
... на ваши текстовые поля ввода
Не забудьте привести textboxX.Text
к нужному типу данных, если столбец не соответствует типу string
.
https://docs.microsoft.com/es-es/dotnet/api/system.int32.parse?view=netframework-4.7.2
cmd.Parameters.AddWithValue("@ColumnName4", int.Parse(textBox4.Text));
cmd.Parameters.AddWithValue("@ColumnName5", int.Parse(textBox5.Text));