我将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)