Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка при добавлении в БД 
V
    Опции темы
Skodina
  Дата 11.5.2010, 20:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 29.5.2009
Где: Москва

Репутация: нет
Всего: нет



Добрый день, у меня возникла такая проблема, существует база данных в 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]
столкнулась с тем, что программа выдает такую ошибку
user posted image
дело в том, что код магазина у меня текстовый :( изменять бы не хотелось, а вот в таблицах где код цисловой все работает на ура, подскажите как мне быть и желательно чтобы не править таблицу  smile 


Это сообщение отредактировал(а) Skodina - 11.5.2010, 21:05
PM MAIL   Вверх
Данкинг
Дата 11.5.2010, 20:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



Цитата(Skodina @  11.5.2010,  21:19 Найти цитируемый пост)
if DataModule3.ADOQuery2.RecordCount then

А сиё что имеет смыслом нести в наш бренный мир? smile 

Ж1 - это что, название поля? Ошибка не Дельфи вызывается, а самим Access'ом.



--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Skodina
Дата 11.5.2010, 21:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 29.5.2009
Где: Москва

Репутация: нет
Всего: нет



прошу прощения, очепяталась, теперь правильно, но в программе было все правильно, и как мне с этой ошибкой быть?

Ж1 это значение поля

Это сообщение отредактировал(а) Skodina - 11.5.2010, 21:14
PM MAIL   Вверх
Frees
Дата 11.5.2010, 21:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 23
Всего: 54



Цитата(Skodina @  12.5.2010,  00:06 Найти цитируемый пост)
и как мне с этой ошибкой быть

искать откуда взялось Ж1, может это поле в таблице Магазины.
Посмотри какой запрос в итоге при добавлении выполняется работает ли этот запрос в access

Это сообщение отредактировал(а) Frees - 11.5.2010, 21:11


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
Skodina
Дата 11.5.2010, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 29.5.2009
Где: Москва

Репутация: нет
Всего: нет



Цитата(Frees @ 11.5.2010,  21:10)

искать откуда взялось Ж1, может это поле в таблице Магазины.
Посмотри какой запрос в итоге при добавлении выполняется работает ли этот запрос в access

мне нужно добавить новую запись в таблицу состоящую из двух полей код_магазина и название_магазина, перед этим я хочу проверить, не вводит ли пользователи код магазина, который ужесуществует в базе. код магазина я ввожу в Edit1. На двух других таблицах эта программа работает, но там код является числовым полем, а в этой таблице код текстовый. Ж1 это значение кода.

Это сообщение отредактировал(а) Skodina - 11.5.2010, 21:31
PM MAIL   Вверх
Данкинг
Дата 12.5.2010, 01:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



Так если текстовое поле, то QuotedStr не стоит забывать в select'е.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Skodina
Дата 12.5.2010, 10:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 29.5.2009
Где: Москва

Репутация: нет
Всего: нет



точно smile спасибо smile теперь работает smile smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0866 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.