#c# #.net #insert #firebird2.5
#c# #.net #вставить #firebird2.5
Вопрос:
Я только начинаю с Firebird
C #, и у меня проблема:
Я хочу вставить в свою Firebird
базу данных с:
FbCommand fbcon = new FbCommand("INSERT INTO REZEPTE(NAME) VALUES (@NAME)", con);
fbcon.Parameters.AddWithValue("NAME", textBox1.Text);
fbcon.ExecuteNonQuery();
Но я получаю сообщение об ошибке:
Код ошибки SQL = -206 неизвестных столбцов
Но все же столбец сохраняется в базе данных. Если я добавлю » вокруг текста в текстовом поле, ошибка не отображается, а » также сохраняются в базе данных.
Столбец в моей базе данных — a VarChar
.
Комментарии:
1. Попробуйте AddWithValue(«@NAME»…. Параметр ищет, что добавить в FbCommand.
2. Все та же проблема: (
Ответ №1:
Я сожалею, что ошибка была позже в моем коде:
FbCommand readCommand =
new FbCommand("Select ID From rezepte where name = '" textBox1.Text "'", con);
FbDataReader myreader= readCommand.ExecuteReader();
Я забыл ‘вокруг выбора в моем текстовом поле…
Комментарии:
1. SQL-инъекция!
2. Вы действительно должны использовать там параметры (точно так же, как в коде, который вы используете в своем вопросе!) В нынешнем виде ваш код содержит большую (и предотвратимую) угрозу безопасности.
3. Я только начинаю, и это достаточно сложно, чтобы запустить код 🙂 Но ты прав, если я это сделаю, я должен сделать это правильно. Спасибо