我是 Java 开发人员。我在 Delphi 中有一些旧程序。在旧版本中,他们使用mdb
. 我修复了它以与 SQL Server 连接。所有 SQL 查询都使用TAdoQuery
.
qryTemp.SQL.Text:='select sum(iif(ComeSumm>0,comesumm,0)),sum(iif(lostSumm>0,lostsumm,0)) from cash '+
'where (IdCashClause is null or idcashclause<>8) '+
' and cashNum='+IntToStr(i)+
' and CashType=0'+
' and format(PayDate,"dd/mm/yyyy")=format('''+DateToStr(Date)+''',"dd/mm/yyyy") ';
程序抛出异常:
列名“dd/mm/yyyy”无效。
我已经修复了其他查询以进行比较:
qryTemp.SQL.Text:=' select top 1 iif(ComeSumm>0,comesumm,0) from cash '
+' where idCashReason=1 and idCashClause=8 and cashNum='+IntToStr(i)
+' and PayDate<:D'
+' order by payDate desc';
qryTemp.Parameters.ParamByName('D').Value:=DateTimeToStr(Date);
我能否在不重写整个项目的情况下快速修复所有查询以使用 SQL Server?