小编Two*_*ice的帖子

SQL查询在Workbench中工作,但在Delphi中使用完全相同的查询得到"无法转换变体类型"错误

我得到的确切错误是

无法将类型(UnicodeString)的变体转换为类型(日期).

我用于日期的变量是一个字符串,我必须在它周围放置引号,否则它返回null但是当我在它周围加上引号时我得到了这个错误.

这是我的SQL Query和变量的代码TodaysDate.(此代码不会复制和粘贴,因为它位于没有互联网功能的其他计算机上,因此请忽略可能导致编译错误的任何内容)

    if MidStr(DateToStr(Date),2,1) ='/' then
         TodaysDate := MidStr(DateToStr(Date),6,4) + '-' + '0' + 
         MidStr(DateToStr(Date),1,1) + '-' + MidStr(DateToStr(Date),3,2)
    else
      TodaysDate := MidStr(DateToStr(Date),7,4) + '-' 
      + MidStr(DateToStr(Date),1,2) + '-' + MidStr(DateToStr(Date),4,2);

   ADOQuery1.SQL.Clear;
   ADOQuery1.SQL.Add('SELECT tbl.emailAddress, tbljob.Time FROM '+
   'dbwindowwash.tblclient, dbwindowwash.tbljob, dbwindowash.tbljobclientworker '+
   'WHERE tbljobclientworker.jobID = tbljob.jobID AND '+
   'tbljobclientworker.clientID = tblclient.clientID AND tbljob.Date = ' +
   QuotedStr(TodaysDate));
   ADOQuery1.Open

   // More Code using the email addresses and time
Run Code Online (Sandbox Code Playgroud)

直接复制并粘贴到Workbench这个查询给了我想要的所有数据,但在Delphi中给了我和错误,没有QuotedStr()它在Delphi和Workbench中都返回null.

我在其他地方的程序中有类似的查询,它使用日期作为字符串,QuotedStr()它工作正常,所以我完全不知道这有什么问题.

sql delphi workbench

3
推荐指数
1
解决办法
1400
查看次数

标签 统计

delphi ×1

sql ×1

workbench ×1