![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос по Delphi и MySQL
Тюменский © (2005-09-29 18:16:00)Скачал компоненту T_mySQL. Вначале всё работало нормально, тестил запросы из флешки, ответы посылал... Но потом вдруг стало писать "SQL Error ...", хотя в коде ничего не менял. Уже и комп перезагружал и с бубном танцевал - ни в какую! :(
Есть подозрение, что эта компонента всего определенное количество запросов отрабатывает и куда-то это количество пишет, а потом всё. Хотя вряд ли - в редми про это не слово.
Вот сам код, подскажите с чего могло всё слететь?
procedure TForm1.ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket);Код парсит XML-запрос от флешки и пихает ей назад ответ, также в XML. Однако, меня беспокоит - где ошибка? Если кто юзает эту компоненту - подскажите?
var
s, login, psw, query, query2, outstr: String;
i: Integer;
begin
s := Socket.ReceiveText;
if (Pos('<LOGIN NAME="', s) = 1) then begin // вход
login := CheckValue('NAME', s);
psw := CheckValue('PSW', s);
query := 'SELECT login FROM users WHERE login="'+login+'"';
query2 := 'SELECT login FROM users WHERE login="'+login+'" and psw="'+psw+'"';
with mySQLClient1 do begin
Hostname := mysql_host;
Port := mysql_port;
Username := mysql_login;
Password := mysql_psw;
Database := mysql_db;
Connect;
Query.PrepareTask(PAnsiChar(query), 'Query', Query_OK, Query_Error);
Execute;
if (mySQLClient1.Query.Data(0, 0) = login) then begin
Query.PrepareTask(PAnsiChar(query2), 'Query2', Query_OK, Query_Error);
Execute;
Memo1.Lines.Add(Query.Data(0, 1));
if (Query.Data(0, 0) = psw) then begin
Memo1.Lines.Add('Пароль верный!');
outstr := '<LOGIN GOENTER="YES" LOG_IN="YES" PSW="YES" />';
end
else outstr := '<LOGIN GOENTER="NO" LOG_IN="YES" PSW="NO" />';
end
else outstr := '<LOGIN GOENTER="NO" LOG_IN="NO" PSW="NO" />';
end;
Socket.SendText(outstr);
end
else if (Pos('<REG NAME="', s) = 1) then begin // регистрация нового чара
end
else begin // неизвестная команда
end;
end;
Тюменский (2005-09-29 18:46:00) [1]сразу после первого Execute
umbra (2005-09-29 18:33:00) [2]
> где ошибка?
да, в каком месте вышеприведенного кода при трассировке возникает ошибка?