以文本方式查看主题
- 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp)
-- 高级功能研发区 (http://www.weistock.com/bbs/list.asp?boardid=5)
---- 数据库问题!!请问高手问题出在哪里? (http://www.weistock.com/bbs/dispbbs.asp?boardid=5&id=60906)
|
-- 作者:patrick
-- 发布时间:2014/1/13 14:58:17
-- 数据库问题!!请问高手问题出在哪里?
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"\');就可以正解显示。为什么???
|
-- 作者:王锋
-- 发布时间:2014/1/13 15:00:29
--
你还没搞清楚,数值与字符串变量的区别
DBTABLE(\'Select * From guzhiif00 where Kday="\'&numtostr(ymdt,0)&\'"\');
[此贴子已经被作者于2014/1/13 15:00:37编辑过]
|
-- 作者:patrick
-- 发布时间:2014/1/13 15:21:47
--
真是还没搞懂,可还是不行,提示”字符串的语法错误在查询表达式“Kday=”中。
|
-- 作者:patrick
-- 发布时间:2014/1/13 15:33:12
--
ym:=numtostr(ymdt,0);DBTABLE(\'Select * From guzhiif00 where Kday="ym"\');
DBTABLE(\'Select * From guzhiif00 where Kday="\'&numtostr(ymdt,0)&\'"\'); 这两句我也试过了,真没搞懂啊!!!!问题出在哪里?王老师。
|
-- 作者:王锋
-- 发布时间:2014/1/13 17:59:28
--
sss:=\'Select * From guzhiif00 where Kday="\'&numtostr(ymdt,0)&\'"\'; msgout(1,sss);
通过增加调试语句输出,没发现字符串查询语句有什么不正常
|
-- 作者:patrick
-- 发布时间:2014/1/14 14:13:14
--
输出调试是正常,但还是报错。代码也没有发现错误啊。什么原因????
此主题相关图片如下: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);
|
-- 作者:王锋
-- 发布时间:2014/1/14 15:59:33
--
你直接把打印出来的字符串粘贴到数据库语句中,看看是不是还报错
|
-- 作者:patrick
-- 发布时间:2014/1/15 11:19:55
--
也没有出错啊
|
-- 作者:王锋
-- 发布时间:2014/1/15 11:42:48
--
你还是仔细调试一下吧,从数据库返回报错情况来看,应该是字符串的格式出了问题
|
-- 作者:guotx2010
-- 发布时间:2014/1/15 16:15:07
--
日期型字段,在Access中需要用#的,比如:#2014-1-15#,你试试看
|