读书人

delphi 出现ole error 是不是sql格式

发布时间: 2012-03-19 22:03:05 作者: rapoo

delphi 出现ole error 是不是sql格式问题?
找了半天也没找到原因,高手们帮忙看看,是不是sql格式问题呀。
ado1.Close;
ado1.SQL.Clear ;
ch:=y+m;

ado1.SQL.add('select count(*) from TBL_RiZiLiao where D_mon='''+ch+'''and QuZhanHao='''+iii+'''');
ado1.Open ;
k:=ado1.Fields[0].AsInteger;
if (md>0) and (md<32) and (K<md) then begin
if k>0 then //如果库中已有本月的部分资料,则先删除之
begin
ado1.close;
ch:=y+m;
ado1.SQL.add('delete from TBL_RiZiLiao where D_mon='''+ch+'''and QuZhanHao='''+iii+'''');
ado1.ExecSQL ;
end ;
for d:=1 to md do
begin
A_File_Int('',pchar('date='+inttostr(d)+#0)); //定义一个默认的参数date(日期)

ado1.close;
ado1.SQL.Clear ;
sql:= 'insert into TBL_RiZiLiao (QuZhanHao,RiQi,MP,MAXP,MINP,MT,MAXT,MINT)';
sql:=sql+ 'values(:QuZhanHao,:RiQi,:MP,:MAXP,:MINP,:MT,:MAXT,:MINT)';
ado1.SQL.add(sql);
ch:=inttostr(d);
if d<10 then ch:='0'+ch;
ch:=y+m+ch;
ado1.Parameters.ParamValues['QuZhanHao']:=iii;
ado1.Parameters.ParamValues['RiQi']:=ch;


ado1.ExecSQL ;
end;{ for d:=1 to md do}

[解决办法]
ole不是SQL语句,SQL写错了是语法错误。
[解决办法]
应该是 OLE DB的错误吧,检查一下。

读书人网 >.NET

热点推荐