powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Корявый запрос?? 'select sum(traf) from platezhi where users=''+aa+'''
7 сообщений из 7, страница 1 из 1
Корявый запрос?? 'select sum(traf) from platezhi where users=''+aa+'''
    #32071257
Serguei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Корявый запрос?? 'select sum(traf) from platezhi where users=''+aa+'''
    #32071266
Фотография KirillovA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А не через ADO - напрямую - выполняется?
...
Рейтинг: 0 / 0
Корявый запрос?? 'select sum(traf) from platezhi where users=''+aa+'''
    #32071272
Фотография KirillovA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты одну кавычку забыл поставить!

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

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

Код: plaintext
1.
where users='''+aa+'''');
...
Рейтинг: 0 / 0
Корявый запрос?? 'select sum(traf) from platezhi where users=''+aa+'''
    #32071277
Serguei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Рябят! Спасибо!! Вы монстры!! :D
правильное решение
where users='''+aa+'''' если кому интересно :)
ОГРОМНОЕ ЧЕЛОВЕЧЕСКОЕ СПАСИБО!
...
Рейтинг: 0 / 0
Корявый запрос?? 'select sum(traf) from platezhi where users=''+aa+'''
    #32071282
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да вот так верно (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
Корявый запрос?? 'select sum(traf) from platezhi where users=''+aa+'''
    #32071697
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я предпочитаю использовать ANSiQuotedStr(str,'''')
В этом случае, если внутри переменной str затесался апостроф, тоон удвоится и запрос отработает нормально.


Unit

SysUtils

Category

string handling routines

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


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