Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Поиск в базе данных с помощью Locate, SQL или только переборкой? [D7, XP]


AndreyZAA ©   (2010-02-18 14:52:00) 

Помогите решить легкую задачку начинающему.
Вопрос: Есть база данных в Accsese, в делфи подключена через ADO.
Пытаюсь искать через Locate «DataModule1.ADOT1.Locate('1',MaskEdit3.Text,[loCaseInsensitive, loPartialKey])», выдает ошибку.
(‘1’ – имя поля в таблице Accsese и соответственно в ADOT1; MaskEdit3.Text – “12-2009” ) ругается на имя поля.
Через SQL :
    ADOFN:= ‘%’+MaskEdit3.Text+’%’; // Пробовал и без знаков процента
    DataModule1.ADOQ1.Active:=false;
    DataModule1.ADOQ1.SQL.Clear;
    DataModule1.ADOQ1.SQL.Add('SELECT *');
    DataModule1.ADOQ1.SQL.Add('From base');
    DataModule1.ADOQ1.SQL.Add('WHERE ( 1 LIKE '''+ADOFN+''')');
    DataModule1.ADOQ1.Active:=true;
        Выдает пустую таблицу, хотя значение в базе есть.
Подскажите как можно реализовать поиск не прибегая к тупой переборке, если имя поля в базе данных Accsese (таблице) рано 1.
(Т.е. FieldName =1; KeyFields пустое (но пробовал ставить 1)).
Просто переименовать поле нельзя, по ряду причин. (Основная, базу делал не я и трогать нельзя((((((( )


AbdreyZAA   (2010-02-18 15:15:00) [1]

Спасибо в SQL запросе сработало.


turbouser   (2010-02-18 15:04:00) [2]

Офигеть...
ну, попробуй единичку в квадратные скобки взять..


Наверх

Титульная страница Поиск, карта сайта Написать письмо