garlecat 发表于 2004-12-1 16:15:08

WR与数据库的连接

用WR与数据库连接时,当执行SQL语句结果比较多时,WR总返回“Syntax error in the SQL statement.“的错误,我试过操作同一个数据库,当有521216条结果时,WR就无法执行了,但若结果比较少时,就能执行,请教各位大虾,有没有什么办法可以解决这个问题的

sunfy 发表于 2004-12-1 17:10:58

呵呵,刚学,还没有研究到那么深呢:)

帮不了你了。

QA_BAY 发表于 2004-12-1 17:19:43

请问你执行的SQL语句是不是相同的呢?
你说的多与少

QA_BAY 发表于 2004-12-1 17:21:18

一般我没有出现这样的错误,
我是在系统做完才做DATABASE CHECK POINT
可能由于记录比较少,所以没有发现,
你可以说一下你是怎么做出问题来的吗?

sunfy 发表于 2004-12-1 17:35:34

一般出现这个提示:“Syntax error in the SQL statement.“都是语法错误,仔细检查一下就OK了。

但是你说的:“我试过操作同一个数据库,当有521216条结果时,WR就无法执行了,但若结果比较少时,就能执行”就不知道怎么回事了,同一条SQL语句,只是最后结果的多少而报错?是不是超出WR设定的范围或者别的什么的?

因为WR毕竟只是做功能测试的,所以当数据量一大,他自己就报错?呵呵。猜的:)

garlecat 发表于 2004-12-1 17:55:42

SQL语句没有出错

语句没错,用其它工具登到该数据库执行相同的语句是可以执行的,而且只要在语句中加多一个判断条件“where ...”,WR就可以执行出结果,今天重新做试验发现7万多条数据就出错了:o

garlecat 发表于 2004-12-1 18:01:26

SQL语句没有错

WR的代码如下
db_connect("query1","DSN=test;uid=abc;pwd=12345",3);
val=db_execute_query("query1","select * from table_test where (user_id=58) ",row_nb);
db_disconnect("query1");

监视结果val返回值为10162,row_nb为-1,
直接通过SQL客户端运行该SQL语句没有出错,而且运行时间为4s,

若把SQL语句改为select * from table where (user_id=58) and (id=1),用WR执行,结果很正确

QA_BAY 发表于 2004-12-1 18:09:36

Originally posted by garlecat at 2004-12-1 05:55 PM:
语句没错,用其它工具登到该数据库执行相同的语句是可以执行的,而且只要在语句中加多一个判断条件“where ...”,WR就可以执行出结果,今天重新做试验发现7万多条数据就出错了:o
但在WR里执行SQL,字段名前是要加表名的!
你有没有运行成功呢?

garlecat 发表于 2004-12-2 09:14:15

我也试过加表名,一样不成功,不加表名只要执行的结果量不大,一样能成功

学会洒脱 发表于 2008-12-23 10:46:45

这个帖子时间好早,
不知道这个问题楼主解决了没.
我现在也遇到类似的问题,连Dbase数据库时,大概在1024左右出现了Syntax error in the SQL statement,语句是没问题的..但连接多了..出现了这个.
页: [1]
查看完整版本: WR与数据库的连接