DATABASE('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\test.mdb');
//DBEXECUTE('create table guzhiif00(stockdate date ,品种 char,Kday char,vclose double)');
//DBEXECUTE('insert into guzhiif00(stockdate,品种,Kday,vclose) values(now(),'&numtostr(STKname(),0)&','&numtostr(ymdt,2)& ','&numtostr(close,2)&')');
xx:=MONTH();
yy:=YEAR();
zz:=DAY();
tt:=TIME();
ymdt:=(((yy*100+xx)*100)+zz)*1000000+tt;
//ym:=numtostr(ymdt,0);
DBTABLE('Select * From guzhiif00 where Kday="ymdt"');
ss:DBVALUE('vclose');
出现解释错误,为什么会这样?????
如果这样DBTABLE('Select * From guzhiif00 where Kday="20131222091600"');就可以正解显示。为什么???
你还没搞清楚,数值与字符串变量的区别
DBTABLE('Select * From guzhiif00 where Kday="'&numtostr(ymdt,0)&'"');
[此贴子已经被作者于2014/1/13 15:00:37编辑过]
真是还没搞懂,可还是不行,提示”字符串的语法错误在查询表达式“Kday=”中。
ym:=numtostr(ymdt,0);DBTABLE('Select * From guzhiif00 where Kday="ym"');
DBTABLE('Select * From guzhiif00 where Kday="'&numtostr(ymdt,0)&'"');
这两句我也试过了,真没搞懂啊!!!!问题出在哪里?王老师。
sss:='Select * From guzhiif00 where Kday="'&numtostr(ymdt,0)&'"';
msgout(1,sss);
通过增加调试语句输出,没发现字符串查询语句有什么不正常
输出调试是正常,但还是报错。代码也没有发现错误啊。什么原因????
此主题相关图片如下:qq截图20140114140938.jpg

DATABASE('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\test.mdb');
//DBEXECUTE('create table guzhiif00(stockdate date ,品种 char,Kday char,vclose double)');
//DBEXECUTE('insert into guzhiif00(stockdate,品种,Kday,vclose) values(now(),'&numtostr(STKname(),0)&','&numtostr(ymdt,2)& ','&numtostr(jyds,2)&')');
xx:=MONTH();
yy:=YEAR();
zz:=DAY();
tt:=TIME();
ymdt:=(((yy*100+xx)*100)+zz)*1000000+tt;
ym:=numtostr(ymdt,0);
//DBTABLE('Select * From guzhiif00 where Kday="20140107092000"');
DBTABLE('Select * From guzhiif00 where Kday="'&numtostr(ymdt,0)&'"');
ss:DBVALUE('vclose');
//sss:='Select * From guzhiif00 where Kday="'&numtostr(ymdt,0)&'"';
//msgout(1,sss);
你直接把打印出来的字符串粘贴到数据库语句中,看看是不是还报错
你还是仔细调试一下吧,从数据库返回报错情况来看,应该是字符串的格式出了问题
日期型字段,在Access中需要用#的,比如:#2014-1-15#,你试试看