![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Поиск в базе данных с помощью 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]Офигеть...
ну, попробуй единичку в квадратные скобки взять..