![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Вопрос легкий для тех кто в курсе :-) Прога поиска по одной таблице на SQL-сервере. Запрос:
Код:
ADOQuery1.SQL.Add('SELECT SS,SN_POL,FAM,IM,OT,W,DR,SN_DOC,C_DOC,ADRES,OKATO_REG,S_EDV,DB_EDV,DE_EDV,C_KAT1,C_KAT2,DATE_RSB,DATE_RSE,U_TYPE,DATA FROM [REG_LGOT].[dbo].[r2007] as t WHERE t.SS='+MaskEdit3.Text+''); Если запрос без конструкции WHERE - все работает нормально, т.е. выбираюцца все записи из таблицы (в ДБГрид).Т.е. получаецца, што косяк в синтаксисе конструкции WHERE. Кавычки пробовал разные - не помогает. Причом если поиск производицца по ДБФ-файлу на диске - все работает и с конструкцией WHERE. Помогите плиз... Заранее спасибо! |
|
#2
|
||||
|
||||
|
Делай так:
Код:
ADOQuery1.SQL.Add('SELECT SS,SN_POL,FAM,IM,OT,W,DR,SN_DOC,C_DOC,ADRES,OKATO_ REG,S_EDV,DB_EDV,DE_EDV,C_KAT1,C_KAT2,DATE_RSB,DAT E_RSE,U_TYPE,DATA FROM [REG_LGOT].[dbo].[r2007] as t WHERE t.SS='+QuotedStr(MaskEdit3.Text));Код:
ADOQuery1.SQL.Add('SELECT SS,SN_POL,FAM,IM,OT,W,DR,SN_DOC,C_DOC,ADRES,OKATO_ REG,S_EDV,DB_EDV,DE_EDV,C_KAT1,C_KAT2,DATE_RSB,DAT E_RSE,U_TYPE,DATA FROM [REG_LGOT].[dbo].[r2007] as t WHERE t.SS= :a');
ADOQuery1.Parameters.ParseSQL(ADOQuery1.SQL.Text,true);
ADOQuery1.Parameters.ParamByName('a').Value:=MaskEdit3.Text;ЗЫЖ Лучше, ИХМО, Like юзать. |
|
#3
|
|||
|
|||
|
Сделал через QuotedStr. А нащот LIKE - использую. Сдесь не писал для простоты. Огромное спасибо!
|