Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi TadoQuery-参数类型转换_Delphi_Type Conversion_Tadoquery - Fatal编程技术网

Delphi TadoQuery-参数类型转换

Delphi TadoQuery-参数类型转换,delphi,type-conversion,tadoquery,Delphi,Type Conversion,Tadoquery,我将Jquery和Ajax参数从网页发送到我的Delphi Web服务器。这些参数将在select中使用,但只要我进入TADOQ.Open我得到一个异常,它包含代码部分下面的消息 我是Delphi新手,所以我不容易理解如何使用UnicodeString、ansisting和String。我也不明白为什么我在任何地方都不用它,它却写着“double” 有没有简单的方法来解决这个问题?(代码小,易于卸载) 编辑:在调用searchselected()之前添加了进程 无法将类型(UnicodeStri

我将Jquery和Ajax参数从网页发送到我的Delphi Web服务器。这些参数将在select中使用,但只要我进入
TADOQ.Open我得到一个异常,它包含代码部分下面的消息

我是Delphi新手,所以我不容易理解如何使用
UnicodeString
ansisting
String
。我也不明白为什么我在任何地方都不用它,它却写着“double”

有没有简单的方法来解决这个问题?(代码小,易于卸载)

编辑:在调用
searchselected()之前添加了进程

无法将类型(UnicodeString)的变体转换为(Double)


为什么你的约会是字符串而不是TDatetime?你的q是自相矛盾的。你说“但我一到TADOQ.Open”,你就呼叫
Search.Open
。是哪一个?请始终张贴从项目中剪切和粘贴的实际代码。顺便说一句,对类实例(
TADOQ
)使用T前缀,而不对自己的类类型(
MyOwnClass
)使用T前缀会带来麻烦。看起来您的数字字符串变量不包含有效的数字(可能是空字符串)。哦,对不起,我将其编辑为特定代码(没有通用名称),还将类型更改为Integer和TDatetime | Marc-字符串(现在为int和datetime)为2666905(int)124062018.06 21:52:00(datetime)。我记录它完全是为了查看它是否是空字符串/值。如果您更改了问题,则会出现错误,因为delphi希望将您的日期字符串转换为TDateTime(这是double的别名类型)。。。
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;