Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Delphi: Базы данных и репортинг > Ошибка при добавлении в БД |
Автор: Skodina 11.5.2010, 20:19 |
Добрый день, у меня возникла такая проблема, существует база данных в Access связана с программой через ADOQuery нужно добавить в нее еще запись, это я сделала, но теперь нужно отлавливать ошибки если вдруг пользователь ввел существующее поле вот кусок программы которую я написала DataModule3.ADOQuery2.Active:=False; DataModule3.ADOQuery2.SQL.Clear; DataModule3.ADOQuery2.SQL.ADD('SELECT * FROM [Магазины] WHERE [код_магазина]='+ Edit1.Text +';'); DataModule3.ADOQuery2.Active:=True; if DataModule3.ADOQuery2.RecordCount=0 then begin DataModule3.ADOQuery2.SQL.Text := 'INSERT INTO Магазины (код_магазина, название_магазина) VALUES ( ' + QuotedStr(Edit1.Text) + ',' + QuotedStr(Edit2.Text) + ')'; DataModule3.ADOQuery2.ExecSQL; end else ShowMessage('Такая запись уже есть'); [/code] столкнулась с тем, что программа выдает такую ошибку ![]() дело в том, что код магазина у меня текстовый :( изменять бы не хотелось, а вот в таблицах где код цисловой все работает на ура, подскажите как мне быть и желательно чтобы не править таблицу ![]() |
Автор: Данкинг 11.5.2010, 20:34 |
А сиё что имеет смыслом нести в наш бренный мир? ![]() Ж1 - это что, название поля? Ошибка не Дельфи вызывается, а самим Access'ом. |
Автор: Skodina 11.5.2010, 21:06 |
прошу прощения, очепяталась, теперь правильно, но в программе было все правильно, и как мне с этой ошибкой быть? Ж1 это значение поля |
Автор: Frees 11.5.2010, 21:10 |
искать откуда взялось Ж1, может это поле в таблице Магазины. Посмотри какой запрос в итоге при добавлении выполняется работает ли этот запрос в access |
Автор: Skodina 11.5.2010, 21:15 | ||
мне нужно добавить новую запись в таблицу состоящую из двух полей код_магазина и название_магазина, перед этим я хочу проверить, не вводит ли пользователи код магазина, который ужесуществует в базе. код магазина я ввожу в Edit1. На двух других таблицах эта программа работает, но там код является числовым полем, а в этой таблице код текстовый. Ж1 это значение кода. |
Автор: Данкинг 12.5.2010, 01:20 |
Так если текстовое поле, то QuotedStr не стоит забывать в select'е. |
Автор: Skodina 12.5.2010, 10:27 |
точно ![]() ![]() ![]() ![]() |