Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.05.2010, 22:19   #1
ара
Форумчанин
 
Регистрация: 11.04.2007
Сообщений: 106
По умолчанию Запросы

Подскажите, пож., как исправить код :
Код:
procedure TEditForm.Button6Click(Sender: TObject);
begin
datamodule2.ReestrQuery.Active:=false;
datamodule2.ReestrQuery.SQL.Clear;
datamodule2.ReestrQuery.SQL.Add('SELECT reestr.Кодзаписи,reestr.ОГРН,reestr.КодИП,reestr.Датарегистрации');
datamodule2.ReestrQuery.SQL.Add('FROM reestr');
datamodule2.ReestrQuery.SQL.Add('WHERE reestr.КодИП=КодИП: '''+Edit1.Text+'''');
datamodule2.ReestrQuery.Active:=true;
end;
В строку вводим нужный код, нажимаем на кнопку, в существующей Таблице должна выделиться искомая строка! Что надо исправить и что дописать, Заранее СПАСИБО

Последний раз редактировалось Stilet; 11.05.2010 в 08:18.
ара вне форума Ответить с цитированием
Старый 10.05.2010, 22:35   #2
Z1000000
Форумчанин
 
Регистрация: 04.05.2010
Сообщений: 495
По умолчанию

В каждой строке datamodule2.ReestrQuery.SQL.Add в конце строкового аргумента ставь пробел, а то у тебя запрос сливается, получается :

SELECT reestr.Кодзаписи,reestr.ОГРН,reestr .КодИП,reestr.Датарегистрации
FROM reestrWHERE reestr.КодИП=КодИП: '''+Edit1.Text+'''');

База данных вот такое : "reestrWHERE" не поймет. пробелчик нужен.

И вообще русские названия полей - это не очень.
И пробелы в SELECT, WHERE,FROM убери. Че это за...

Вот так вроде.
Код:
procedure TEditForm.Button6Click(Sender: TObject);
begin
datamodule2.ReestrQuery.Active:=false;
datamodule2.ReestrQuery.SQL.Clear;
datamodule2.ReestrQuery.SQL.Add('SELECT reestr.Кодзаписи,reestr.ОГРН,reestr.КодИП,reestr.Датарегистрации ');
datamodule2.ReestrQuery.SQL.Add('FROM reestr ');
datamodule2.ReestrQuery.SQL.Add('WHERE reestr.КодИП=' + ''''+Edit1.Text+'''');
datamodule2.ReestrQuery.Active:=true;
end;
Нажми на весы, поставь +
Для благодарностей : WebMoney WMR R252732729948
Z1000000 вне форума Ответить с цитированием
Старый 10.05.2010, 22:48   #3
ара
Форумчанин
 
Регистрация: 11.04.2007
Сообщений: 106
По умолчанию

Теперь вылезла ошибка:
'Параметр reestr.Код записи не имеет значения по умолчанию'
Где мне искать ошибку? В БД?
ара вне форума Ответить с цитированием
Старый 10.05.2010, 23:07   #4
Z1000000
Форумчанин
 
Регистрация: 04.05.2010
Сообщений: 495
По умолчанию

Попробуй просто вот так.

Код:
procedure TEditForm.Button6Click(Sender: TObject);
begin
datamodule2.ReestrQuery.Active:=false;
datamodule2.ReestrQuery.SQL.Clear;
datamodule2.ReestrQuery.SQL.Add('SELECT * ');
datamodule2.ReestrQuery.SQL.Add('FROM reestr ');
datamodule2.ReestrQuery.SQL.Add('WHERE reestr.КодИП=' + ''''+Edit1.Text+'''');
datamodule2.ReestrQuery.Active:=true;
end;
Нажми на весы, поставь +
Для благодарностей : WebMoney WMR R252732729948
Z1000000 вне форума Ответить с цитированием
Старый 10.05.2010, 23:19   #5
ара
Форумчанин
 
Регистрация: 11.04.2007
Сообщений: 106
По умолчанию

Теперь 'reestr.КодИП'. Может это быть из-за того, что поле у меня называется не 'КодИП', а 'Код ИП', т.е. с пробелом?!
ара вне форума Ответить с цитированием
Старый 10.05.2010, 23:33   #6
Z1000000
Форумчанин
 
Регистрация: 04.05.2010
Сообщений: 495
По умолчанию

Именно из-за этого. Названия должны точно совпадать.
Попробуй вот эти два варианта.

Код:
datamodule2.ReestrQuery.SQL.Add('WHERE reestr."Код ИП"= + ''''+Edit1.Text+'''');
Код:
datamodule2.ReestrQuery.SQL.Add('WHERE "reestr"."Код ИП"= + ''''+Edit1.Text+'''');
Нажми на весы, поставь +
Для благодарностей : WebMoney WMR R252732729948
Z1000000 вне форума Ответить с цитированием
Старый 10.05.2010, 23:55   #7
ара
Форумчанин
 
Регистрация: 11.04.2007
Сообщений: 106
По умолчанию

Код:
procedure TEditForm.Button6Click(Sender: TObject);
begin
datamodule2.ReestrQuery.Active:=false;
datamodule2.ReestrQuery.SQL.Clear;
datamodule2.ReestrQuery.SQL.Add('SELECT reestr.Кодзаписи,reestr.ОГРН,reestr.КодИП,reestr.Датарегистрации ');
datamodule2.ReestrQuery.SQL.Add('FROM reestr ');
datamodule2.ReestrQuery.SQL.Add('WHERE reestr.КодИП=' + ''''+Edit1.Text+'''');
datamodule2.ReestrQuery.Active:=true;
end;
Использовал этот вариант, просто исправил название полей. Теперь ошибка не вылазет. Как сделать так, чтобы при выполнении данного запроса, на найденую строку перемещался курсор или она выделялась, или что=то в этом роде!???

Последний раз редактировалось Stilet; 11.05.2010 в 08:19.
ара вне форума Ответить с цитированием
Старый 11.05.2010, 07:51   #8
Z1000000
Форумчанин
 
Регистрация: 04.05.2010
Сообщений: 495
По умолчанию

В одном запросе никак.
Делаешь два запроса: один открывает таблицу полностью или какую-то выборку из нее - по-желанию.
Второй мы уже обсудждали. Берешь из него уникальный идентификатор. В твоем случае - КодИП вроде. И в первом запросе позиционируешь курсор на строке с данным идентификатором. Методы Locate,Find,FindNear или просто перебираешь подряд.
Нажми на весы, поставь +
Для благодарностей : WebMoney WMR R252732729948
Z1000000 вне форума Ответить с цитированием
Старый 11.05.2010, 08:21   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
Делаешь два запроса
Два зачем?
Цитата:
в существующей Таблице должна выделиться искомая строка!
Что значит "выделяться"? На экране подсвечиваться? Так это находится методом locate после открытия запроса и только для DBGrid или подобных компонентов.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.05.2010, 13:34   #10
ара
Форумчанин
 
Регистрация: 11.04.2007
Сообщений: 106
По умолчанию

Если не трудо, подскажите, пож., код! Не могу сообразить
ара вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запросы Kristina92 Microsoft Office Access 2 25.03.2010 21:27
Запросы Katushka_88_88 Microsoft Office Access 3 25.01.2010 20:04
Запросы к БД xDjarx БД в Delphi 6 14.05.2008 17:04
Запросы к БД H@Z@RD Общие вопросы Delphi 3 28.03.2007 01:39