Я новичок в работе с бд на C#. Ошибка возникает при попытке добавить данные в бд. На других формах тот же самый код работает без проблем
private void button1_Click(object sender, EventArgs e)
{
string number = textBox1.Text;
string fio = textBox2.Text.ToString();
string gr = comboBox1.SelectedItem.ToString();
string text = "insert into students(nomer, fio, group) VALUES('number','" +
fio + "','" + gr + "')";
OleDbCommand data = new OleDbCommand(text, myConnection);
data.ExecuteNonQuery();
}
[ и ]. Может еще и number.если учесть замечания 3 от @iluxa1810 как то так будет безопасней
Синхроничная версия метода:
public void Insert(String connectionString)
{
var number = textBox1.Text;
var fio = textBox2.Text;
var gr = comboBox1.SelectedItem.ToString();
using (var connection = new OleDbConnection(connectionString))
{
using (var command = connection.CreateCommand())
{
command.CommandText = "INSERT INTO STUDENTS (number, fio, group) VALUES(@number, @fio, @gr)";
command.Parameters.AddRange(new OleDbParameter[]
{
new OleDbParameter("@number", number),
new OleDbParameter("@fio", fio),
new OleDbParameter("@gr", gr)
});
connection.Open();
command.ExecuteNonQuery();
}
}
}
Асинхронная версия метода:
public async void InsertAsync(String connectionString)
{
var number = textBox1.Text;
var fio = textBox2.Text;
var gr = comboBox1.SelectedItem.ToString();
using (var connection = new OleDbConnection(connectionString))
{
using (var command = connection.CreateCommand())
{
command.CommandText = "INSERT INTO STUDENTS (number, fio, group) VALUES(@number, @fio, @gr)";
command.Parameters.AddRange(new OleDbParameter[]
{
new OleDbParameter("@number", number),
new OleDbParameter("@fio", fio),
new OleDbParameter("@gr", gr)
});
await connection.OpenAsync();
await command.ExecuteNonQueryAsync();
}
}
}
У вас не правильно сформулирован запрос на вставку, если вы не хотите делать параметризованный запрос в БД, то исправьте код:
string text ="insert into students (number,fio,group) VALUES('"+number+"','"+fio+"','"+gr+"')";
Драйвер БД ругается на совпадения номера с фамилией!
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости