为什么执行query的open函数后不返回?谢谢!在线等
一个简单的程序,执行一个带参数的查询,可是执行open后程序就没有反应了,不会继续执行下面一句语句。如果是不带参数的查询,则open一点问题都没有,很是奇怪啊!我用的是SQLSERVER2000!已经被这个问题折腾几天了!
qryZd.Close;
qryZd.SQL.Clear;
s := 'select * from dbo.KRZD where (D_KRBH=:D_KRBH)and(D_XMBH=:D_XMBH)and(D_JZBZ=:D_JZBZ)and(D_SJFJ <> :D_SJFJ) ';
qryZd.SQL.Add(s);
qryZd.ParamByName( 'D_KRBH ').AsString:= ' ' ' '+AKrbh+ ' ' ' ';
qryZd.ParamByName( 'D_XMBH ').AsString:= ' ' ' '+XMBH_FJ+ ' ' ' ';
qryZd.ParamByName( 'D_JZBZ ').AsString:=JZ_NO;
qryZd.ParamByName( 'D_SJFJ ').AsInteger:=0;
qryZd.Prepare;
qryZd.Open;
[解决办法]
s := 'select * from dbo.KRZD where (D_KRBH= ' ' '+D_KRBH+ ' ' ' and(D_XMBH= ' ' '+D_XMBH+ ' ' ')and(D_JZBZ= ' ' '+D_JZBZ+ ' ' ')and(D_SJFJ <> '+D_SJFJ+ ') ';
[解决办法]
你数据库的问题
[解决办法]
你不要变量,直接来数据写进去,如果运行没有问题就不是这块代码的问题
[解决办法]
你这段代码执行了没有 你检查下
[解决办法]
是不是没有符合你where条件的记录呀 - -?
[解决办法]
你定你里有D_KRBH= '399594F8C08F '的?查一下字段度和型
[解决办法]
qryZd.ParamByName( 'D_KRBH ').AsString:= ' ' ' '+AKrbh+ ' ' ' ';
的AKrbh是什?