Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Корявый запрос?? 'select sum(traf) from platezhi where users=''+aa+''' / 7 сообщений из 7, страница 1 из 1
22.11.2002, 12:02
    #32071257
Serguei
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Корявый запрос?? 'select sum(traf) from platezhi where users=''+aa+'''
while not ADOQuery1.eof do
begin
aa:=ADOQuery1.FieldByName('Uname').AsString;
ADOQuery3.close;
ADOQuery3.Sql.clear;
ADOQuery3.Sql.Add('select sum(traf) from platezhi where users=''+aa+''');
ADOQuery3.open;
StringGrid1.Cells[j+2,i]:=ADOQuery3.Fields[0].AsString ;
i:=i+1;
ADOQuery1.next;
end;
Результат запроса- пустой. В чем тут может быть дело?? Загвоздка была с апострофами, но запрос работает, если они стоят только так. Все таки думаю что дело в этом... Скорее всего пытаюсь найти запись User' вместо User. Люди добрыииии.. подскажите как исправить, пожалуйста
...
Рейтинг: 0 / 0
22.11.2002, 12:04
    #32071266
KirillovA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Корявый запрос?? 'select sum(traf) from platezhi where users=''+aa+'''
А не через ADO - напрямую - выполняется?
...
Рейтинг: 0 / 0
22.11.2002, 12:06
    #32071272
KirillovA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Корявый запрос?? 'select sum(traf) from platezhi where users=''+aa+'''
Ты одну кавычку забыл поставить!

Код: plaintext
ADOQuery3.Sql.Add('select sum(traf) from platezhi where users='''+aa+''');
...
Рейтинг: 0 / 0
22.11.2002, 12:08
    #32071274
hDrummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Корявый запрос?? 'select sum(traf) from platezhi where users=''+aa+'''
Запусти SQL Server Profiler, отлови запрос и посмотри что там у тебя с кавычками происходит.

но как по мне (это навскидку) должно быть так:

Код: plaintext
1.
where users='''+aa+'''');
...
Рейтинг: 0 / 0
22.11.2002, 12:12
    #32071277
Serguei
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Корявый запрос?? 'select sum(traf) from platezhi where users=''+aa+'''
Рябят! Спасибо!! Вы монстры!! :D
правильное решение
where users='''+aa+'''' если кому интересно :)
ОГРОМНОЕ ЧЕЛОВЕЧЕСКОЕ СПАСИБО!
...
Рейтинг: 0 / 0
22.11.2002, 12:18
    #32071282
hDrummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Корявый запрос?? 'select sum(traf) from platezhi where users=''+aa+'''
да вот так верно (tested)
Код: plaintext
1.
2.
3.
 x:='A%';
 aq1.SQL.Clear;
 aq1.SQL.add('select * from fio_dr where fiop like '''+x+'''');
 aq1.Open;
...
Рейтинг: 0 / 0
24.11.2002, 14:57
    #32071697
Cat2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Корявый запрос?? 'select sum(traf) from platezhi where users=''+aa+'''
Я предпочитаю использовать ANSiQuotedStr(str,'''')
В этом случае, если внутри переменной str затесался апостроф, тоон удвоится и запрос отработает нормально.


Unit

SysUtils

Category

string handling routines

function AnsiQuotedStr(const S: string; Quote: Char): string;
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Корявый запрос?? 'select sum(traf) from platezhi where users=''+aa+''' / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]