Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 21.07.2009, 20:01
Kara1989 Kara1989 вне форума
Прохожий
 
Регистрация: 05.06.2009
Сообщения: 12
Репутация: 10
По умолчанию Filtered:=False Filtered:=true

Необходима ваша помощь!!!
Ниже приведен код, по нему я делаю фильтрацию, если после фильтрации в ADO найдется запись, - надо ее просто редактировать,
а если нету никакой записи хотелось бы добавить новую запись
вот у меня не получается
можете ли хоть какой-то совет дать, а то у меня вообще не получается
Код:
var
m:integer;
begin
Form12.ADOTable1.Filtered:=False;
Form12.ADOTable1.Filter:='TabN='''+ Form2.ADOTable2.Fields[0].Text+'''';
Form12.ADOTable1.Filtered:=true;
m:=Form12.ADOTable1.RecordCount;
If m=1 then Form12.ADOTable1.Edit
else Form12.ADOTable1.Insert;
...........................
end;
Admin: Пользуемся тегами!

Последний раз редактировалось Admin, 14.12.2009 в 13:32.
Ответить с цитированием
  #2  
Старый 21.07.2009, 20:45
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

1. Не вижу тегов.
2. Что именно не получается? Ошибка какая? И на какую строку ругается?
3. Или просто код не работает (тоесть нет эффекта, что с ним, что без него)?
4. Отладчиком пробивал? Всё правильно создаёшь?
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
  #3  
Старый 21.07.2009, 21:01
Аватар для Appolon
Appolon Appolon вне форума
Новичок
 
Регистрация: 10.01.2008
Адрес: гЕйск
Сообщения: 76
Репутация: 16
По умолчанию

1. Поле TabN у тебя имеет строковый тип??
Код:
Form12.ADOTable1.Filter:='TabN='''+ Form2.ADOTable2.Fields[0].Text+'''';
Если нет, то эта строка запишится
Код:
Form12.ADOTable1.Filter:='TabN='+ Form2.ADOTable2.Fields[0].Text;
2.
Код:
If m=1 then Form12.ADOTable1.Edit
else Form12.ADOTable1.Insert;
А точно данному фильтру будет удовлетворять только одна строка? Ведь в случае если фильтрация вернет 2 и больше строк, то у тебя добавиться еще одна запись.
__________________
From VasYa with LoVe...
Ответить с цитированием
  #4  
Старый 21.07.2009, 21:01
Kara1989 Kara1989 вне форума
Прохожий
 
Регистрация: 05.06.2009
Сообщения: 12
Репутация: 10
По умолчанию

если после фильтрации нету никаких записей, то можно с легкостью сохранить данные (добавлять новую запись и сохранять значения)
а если найдется запись, то так ругается:

ИЗМЕНЕНИЯ НЕ БЫЛИ УСПЕШНО ВНЕСЕНЫ ИЗ-ЗА ПОВТОРЯЮЩИХСЯ ЗНАЧЕНИЙ В ИНДЕКСЕ, КЛЮЧЕВЫХ ПОЛЯХ ИЛИ СВЯЗЯХ.
ИЗМЕНИТЕ ДАННЫЕ В ПОЛЕ ИЛИ В ПОЛЯХ, СОДЕРЖАЩИХ ПОВТОРЯЮЩИЕСЯ ЗНАЧЕНИЯ, УДАЛИТЕ ИНДЕКС ИЛИ ПЕРЕОПРЕДЕЛИТЕ ЕГО, ЧТОБЫ РАЗРЕШИТЬ ПОВТОРЯЮЩИЕСЯ ЗНАЧЕНИЯ, И ПОВТОРИТЕ ПОПЫТКУ
Ответить с цитированием
  #5  
Старый 14.12.2009, 12:23
Йогурт Йогурт вне форума
Начинающий
 
Регистрация: 20.11.2009
Сообщения: 109
Репутация: 5
По умолчанию

Цитата:
Сообщение от Kara1989
если после фильтрации нету никаких записей, то можно с легкостью сохранить данные (добавлять новую запись и сохранять значения)
а если найдется запись, то так ругается:

ИЗМЕНЕНИЯ НЕ БЫЛИ УСПЕШНО ВНЕСЕНЫ ИЗ-ЗА ПОВТОРЯЮЩИХСЯ ЗНАЧЕНИЙ В ИНДЕКСЕ, КЛЮЧЕВЫХ ПОЛЯХ ИЛИ СВЯЗЯХ.
ИЗМЕНИТЕ ДАННЫЕ В ПОЛЕ ИЛИ В ПОЛЯХ, СОДЕРЖАЩИХ ПОВТОРЯЮЩИЕСЯ ЗНАЧЕНИЯ, УДАЛИТЕ ИНДЕКС ИЛИ ПЕРЕОПРЕДЕЛИТЕ ЕГО, ЧТОБЫ РАЗРЕШИТЬ ПОВТОРЯЮЩИЕСЯ ЗНАЧЕНИЯ, И ПОВТОРИТЕ ПОПЫТКУ
В базе Access жми конструкция! И делай в полях индексированное поле, повторение разрешенно!
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 01:17.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter