我将网页中的 Jquery 和 Ajax 参数发送到我的 Delphi Web 服务器。这些参数将在选择中使用,但是一旦我到达TADOQ.Open;
我就会得到一个异常,其中包含代码部分下方的消息。
我是 Delphi 的新手,所以我很难理解如何使用UnicodeString
,AnsiString
和String
. 我也不明白为什么它说double
,当我不在任何地方使用它时。
有没有解决问题的简单方法?(代码小,易于理解)
编辑:调用前添加流程SearchChosen();
KoyoWebSqlReader:=CKoyoWebSqlReader.Create;
KoyoWebSqlReader.OpenConnection;
Response.ContentType:='application/json';
Txt:=KoyoWebSqlReader.SearchChosen(
StrToInt(SplitString(Request.ContentFields[0], '=')[1]),
StrToDateTime(SplitString(Request.ContentFields[1], '=')[1])
).toJsonString;
Response.Content:=Txt;
KoyoWebSqlReader.CloseConnection;
// -----
function CKoyoWebSqlReader.SearchChosen(TicketNumber:Integer; Start:TDateTime):CKoyoMeasurement;
var Search:TADOQuery;
var Measurement:CKoyoMeasurement;
begin
Measurement:=CKoyoMeasurement.Create;
Search:=TADOQuery.Create(nil);
Search.Connection:=Connection;
Search.SQL.Clear;
Search.SQL.Text:=
'SELECT * FROM Measurements WHERE TicketNumber = :TicketNumber AND Start = :Start;';
Search.Parameters.ParamByName('TicketNumber').Value:=TicketNumber;
Search.Parameters.ParamByName('Start').Value:=Start;
try
Search.Open;
// Fill Measurement
except on EX:Exception do
begin
// Log Exception
end;
end;
Search.Close;
Result:=Measurement;
end;
类型变体 (UnicodeString) 无法转换为 (Double)