Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.08.27;
Скачать: CL | DM;

Вниз

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

 
AndreyZAA   (2010-02-18 14:52) [0]

Помогите решить легкую задачку начинающему.
Вопрос: Есть база данных в 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)).
Просто переименовать поле нельзя, по ряду причин. (Основная, базу делал не я и трогать нельзя((((((( )


 
turbouser ©   (2010-02-18 15:04) [1]

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


 
AbdreyZAA   (2010-02-18 15:15) [2]

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



Страницы: 1 вся ветка

Текущий архив: 2010.08.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.06 c
15-1270648471
Mozart
2010-04-07 17:54
2010.08.27
Seagate...того?


15-1264627806
Юрий
2010-01-28 00:30
2010.08.27
С днем рождения ! 28 января 2010 четверг


15-1275560855
Kerk
2010-06-03 14:27
2010.08.27
В России стартует эксперимент по имитации полета на Марс


15-1272227404
Юрий
2010-04-26 00:30
2010.08.27
С днем рождения ! 26 апреля 2010 понедельник


15-1263598432
Rouse_
2010-01-16 02:33
2010.08.27
Эволюция