| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > Insert INTO в ADOQuery |
| Автор: ColdDeath 31.10.2009, 17:24 | ||
Имеется следующий код:
При компиляции ругается что синтаксическая ошибка в запросе INTO. Код вставляет в таблицу Initial базы данных Строку с полями UserID (текст), Pass (текст), Level (числовой). Проблема во вставке Level. Если Level сделать AnsiString'ом, и изменить тип поля в БД на текстовый, то нормально работает. Но мне нужно именно число. В чём ошибка в запросе? Запрос генерирует строку: INSERT INTO Initial(UserID, Pass, Level) VALUES('Vasya', '123', 2) В чём ошибка? Помогите, пожалуйста. Модератор: на забываем пользоваться кнопочкой "Код". |
| Автор: Anikmar 31.10.2009, 20:32 | ||
Точно при компиляции? Покажите сообщение об ошибке. |
| Автор: Данкинг 31.10.2009, 20:41 |
| Так правильно: переменная Level у тебя числовая, а ты её пытаешься вставить в строку (SQL->Add). Причём наряду с переменными UserID и Pass, которые как раз текстовые. Добавлено через 1 минуту и 58 секунд Как генерирует: программа вообще компилироваться не должна. |
| Автор: Anikmar 31.10.2009, 20:47 |
Вполне может, если компилятор типа Билдера - то там может, у AnsiString куча всевозможных конструкторов, только вот за ними следить надо, однако... |
| Автор: ColdDeath 6.11.2009, 17:01 | ||||
Компилятор - Билдер. Всем спасибо за посты, но проблема оказалась в следующем:
А надо было с кавычками такими ещё писать (`), вот так:
Всеравно всем спасибо! Тема ЗАКРЫТА! |
| Автор: A5uKa 7.11.2009, 10:14 | ||
| Добавлю ещё мелочь делая Add, ещё не нужно забывать про Clear() перед этим, так можно использовать ->Text= Потом обычно используют не ' ' , а [ ] для полей, вот так
|