Bde 出错的问题.(200分)

  • 主题发起人 frankfang
  • 开始时间
F

frankfang

Unregistered / Unconfirmed
GUEST, unregistred user!
运行下面的程序:
qyMcf.Close;
qyMcf.SQL.Clear;
g_sqlstr:='SELECT * FROM MCF_FILE WHERE '
+' MCFCRDT=TO_DATE('11/12/2002','dd/MM/yyyy') ORDER BY MCF01 '
qyMcf.SQL.Add(g_sqlstr);
qyMcf.Open;

运行道qyMcf.open时出错,错误信息如下.
*************************************************************************
project project1.exe raised exception class EDBEngineError with message
'Capability not supported ' process stoped ,Use step or Run to continue .

[ OK ] [Help]
*************************************************************************

环境如下:
database : oracle 8.16
delphi version : 6.0( update1,update2)
bde:dll32: SQLORA8.DLL
VENDOR INIT: OCI.DLL
LANGDRIVER : Oracle SQL WE850

请教:
出错的原因是什么? 错误信息是什么意思啊??


 
g_sqlstr:='SELECT * FROM MCF_FILE WHERE '
+' MCFCRDT=TO_DATE(''11/12/2002'',''dd/MM/yyyy'') ORDER BY MCF01 '
 
不是sql 的问题问题依旧.(sql我输入到论坛时输错了)
 
好象是TO_DATE('11/12/2002','dd/MM/yyyy') 的问题
提示应该是使用了BDE不支持的SQL语句
 
我怀疑是query控件qyMcf的问题,因为我用其他的query,又没有问题.
bde 支持上面的sql
 
建议你在SQL中对日期时间等用参数进行查询较好,没有日期格式的问题,
g_sqlstr:='SELECT * FROM MCF_FILE WHERE '
+' MCFCRDT=:yyy ORDER BY MCF01 '
Query1.ParamByName('yyy').AsDateTime:=StartTime;
如果你要将字符串转换为日期,可用StrToDateTime进行转换.
 
顶部