![]() |
|
|
|
|
#1
|
|||
|
|||
|
Подскажите а можно как нибудь результат запроса sql внести в переменную ,если запрос с условием ...там насколько я знаю возвращается не текст,а запись .
то есть кодинг примерно вот такой Код:
adoquery3.sql.text:='SELECT * FROM table1 WHERE nick='+quotedStr(Edit9.Text)+ ' and pass='+quotedstr(edit10.text)+''; ADOQuery3.open; edit8.Text:=inttostr(ADOQuery3.RecordCount); if ADOQuery3.RecordCount <> 0 then begin s:='#A' + [вот здесь мне нужны результаты запроса через пробел (в бд не только ник и пасс ,там еще инфа ,аська ,и тп.)и вот здесь они должны идти через пробел]; Socket.SendText(s); s:='#A'+(nick+' '+pass+' '+icq..и т.д.) Подскажите как такое сделать полегче... |
|
#2
|
||||
|
||||
|
1-й вариант:
Код:
s:='#A'+ADOQuery3.Fields[0].asString+'<пробел>'+ADOQuery3.Fields[1].asString+'<пробел>'+ADOQuery3.Fields[2].asString+'<пробел>'+ 2-й вариант: Код:
var i:integer; ... твой запрос ... for i:=0 to ADOQuery3.FieldCount-1 do s:=s+'<пробел>'+ADOQuery3.Fields[i].asString; s:='#A'+s; Если полей не сильно много - я бы взял 1-й вариант ![]() |
|
#3
|
|||
|
|||
|
Yurk@
Второй вариант не сработал ..делфи выделяет таким запросом всегда одно и то же поле ,которое мне не нужно ..то есть вот код: Код:
adoquery3.sql.text:='SELECT * FROM table1 WHERE nick='+quotedStr(Edit9.Text)+ ' and pass='+quotedstr(edit10.text)+''; ADOQuery3.open; for i:=0 to ADOQuery3.FieldCount-1 do s:=s+' '+ADOQuery3.Fields[i].asString; s:='#A'+s; socket.sendtext(s); второй вариант я как то не понял =) обьясни плиз)) Appolon запрос не верный .. |
|
#4
|
||||
|
||||
|
Явно укажи какие поля тебе нужны:
Код:
s:=ADOQuery3.FieldByName('nick').AsString+' '+ADOQuery3.FieldByName('pass').AsString+ и т.д.; |
|
#5
|
||||
|
||||
|
Ну так если тебе самому впадлу немного подумать, то правильный запрос будет таким:
Код:
adoquery3.sql.Add('SELECT nick+'' ''+pass+'' ''+icq FROM table1 ');
adoquery3.sql.Add(' WHERE nick='+quotedStr(Edit9.Text));
adoquery3.sql.Add(' and pass='+quotedstr(edit10.text));
ADOQuery3.open;
edit8.Text:=inttostr(ADOQuery3.RecordCount);
if ADOQuery3.RecordCount <> 0 then
begin
s:='#A' + ADOQuery3.Fields.Fields[0].AsString;
Socket.SendText(s); |
|
#6
|
|||
|
|||
|
Ой все норм))спасибо всем))
Последний раз редактировалось Booo, 24.08.2009 в 23:42. |
|
#7
|
||||
|
||||
|
Для этого используй не такой запрос как у тебя, а что-то типа:
Код:
adoquery3.sql.text:='SELECT nick+' '+pass+' '+icq+' '+ и.т.д. FROM table1 WHERE nick='+quotedStr(Edit9.Text)+ ' and pass='+quotedstr(edit10.text)+''; ADOQuery3.open; edit8.Text:=inttostr(ADOQuery3.RecordCount); if ADOQuery3.RecordCount <> 0 then begin s:='#A' + ADOQuery3.Fields.Fields[0].AsString; Socket.SendText(s); |