Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.137.218.220] |
|
Сообщ.
#1
,
|
|
|
есть запрос в ADOQuery, в который в ходе выполнения цикла подставляется новая переменная, но дело в том, что он выводит результат только по первой переменной, далее запрос тупо не выполняется.
Вот код: void __fastcall TForm1::IdIcmpClient1Reply(TComponent *ASender, //обработка icmp ответа const TReplyStatus &AReplyStatus) { c=new const char(); AnsiString s=AReplyStatus.FromIpAddress; if ((s!="0.0.0.0")&&(s!=g_lastAddress)) { RichEdit1->Lines->Add("TTL: "+IntToStr(g_ttl)+"; Байт получено: "+IntToStr(AReplyStatus.BytesReceived)+"; Промежуточный адрес: "+s); //вывод строчки ответа g_lastAddress=s; c=s.c_str(); //конвертим AnsiString в const char maddr1=htonl(inet_addr(c)); StringGrid1->RowCount=RichEdit1->Lines->Count+1; StringGrid1->Cells [0][RichEdit1->Lines->Count] = g_ttl; if (!ADOConnection1->Connected) { ADOQuery1->Parameters->ParamByName("maddr1")->Value=maddr1; ADOQuery1->Open(); latitude=ADOQuery1->FieldByName("latitude")->AsString; longtitude=ADOQuery1->FieldByName("longtitude")->AsString; StringGrid1->Cells [1][RichEdit1->Lines->Count] = latitude; StringGrid1->Cells [2][RichEdit1->Lines->Count] = longtitude; ADOQuery1->Close(); } Сам запрос: SELECT latitude, longtitude FROM Location WHERE num=(SELECT num FROM Blocks WHERE :maddr1 BETWEEN min AND max) Запрос работает, проверял насильно пихая в него maddr1. maddr1 - переменная, которая изменяется в ходе выполнения цикла |
Сообщ.
#2
,
|
|
|
а цикл где?У тебя же только одна строка одбарабывается.
|