在线的朋友帮帮忙,头太晕了,错误找不到????????

jkx01whg 2005-05-08 04:24:09
try
jq.Close; //jq为一个Query的别名
jq.ParamByName('zhang').Value:=DBEdit1.Text;
jq.Prepare;
jq.Open;
if jq.FieldByName('zh_num').Value=DBEdit1.Text then showmessage('zh_j_look for failure!');//这句没被执行

if jq.RecordCount>0 then //这句好象jq.RecordCount一直不大于0
begin
Edit4.Text:=zhq.FieldValues['zh_num'];
showmessage('j_ok');
end
else showmessage('j_look for failure!');//而这句却老被执行
except
showmessage('查找节名时出错!');
end;
...全文
99 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
jkx01whg 2005-05-08
  • 打赏
  • 举报
回复
不是。是BDE 的Query
tdtjjiao 2005-05-08
  • 打赏
  • 举报
回复
你是用ADO吗?

那你还是没有OPEN jq啊
晕。
用JQ写存储过程。
jkx01whg 2005-05-08
  • 打赏
  • 举报
回复
例外是不能对一个close的datadase操作
jkx01whg 2005-05-08
  • 打赏
  • 举报
回复
SQL:
select jie_table.zh_num,jie_table.j_num,jie_table.j_name
from jie_table
where jie_table.zh_num=:zhang
order by jie_table.j_num
jkx01whg 2005-05-08
  • 打赏
  • 举报
回复
我的意思是赋完值就执行查询..
SQL语句绝对没有问题(在查询分析器里可以验证)
我把你的jq.clear改成jq.SQL.clear;然后又说table附近有错,请问是数据库有错吗?
tdtjjiao 2005-05-08
  • 打赏
  • 举报
回复
什么例外?
你赋值的时候为什么要OPEN?

赋完值再OPEN啊。

tdtjjiao 2005-05-08
  • 打赏
  • 举报
回复
什么例外?
你赋值的时个为什么要OPEN?
lovend 2005-05-08
  • 打赏
  • 举报
回复
不好意思看错了。把jq.ParamByName('zhang').Value:=DBEdit1.Text;看成jq.fieldByName('zhang')了。呵呵。
abcde52511 2005-05-08
  • 打赏
  • 举报
回复
把SQL语句输出,到SQLPLUS里看看对不对
jkx01whg 2005-05-08
  • 打赏
  • 举报
回复
还有clear方法找不到,我暂时用CleanupInstance代替,有错吗???
lovend 2005-05-08
  • 打赏
  • 举报
回复
在判断jq.fieldbyname()=edit.text 等等的时候,最好要用trim()去掉空格,有时候因为有空格,使两个相同的值会被认为不等,因而将不执行 if jq.fieldbyname()=edit.text then 下面的语句。

而且我看你上面的代码都没怎么看懂.呵呵。 在给jq.fieldbyname()赋值的时候,前面为什么要close,我一般是jq.edit,然后后面是jq.post提交, 反正上面的代码看得我一头雾水.
jkx01whg 2005-05-08
  • 打赏
  • 举报
回复
按照如上改,但发生了例外
jkx01whg 2005-05-08
  • 打赏
  • 举报
回复
to all:
ParamByName是把一个值赋给参数"zhang"????
tdtjjiao 2005-05-08
  • 打赏
  • 举报
回复
还有jq.ParamByName('zhang').Value:=DBEdit1.Text;
你这是给他值,那你OPEN那一定 jq.RecordCount<=0了

jq.FieldByName('zh_num').Value=DBEdit1.Text肯定不相等的啊。
所以就执行showmessage('j_look for failure!');这句。

jp.close;
jp.clear;
应该jp.sql.add('select * from table where zhang = chr(39)+dbedit1.text+chr(39)
jp.open;
才行啊。
gechaosa 2005-05-08
  • 打赏
  • 举报
回复
please write sql string;
tdtjjiao 2005-05-08
  • 打赏
  • 举报
回复
ParamByName
这个是什么意思?

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧