哪位大哥知道:CGI里面一定要用Tquerytableproducer才能查询,而不可以直接用query来查询数据库吗?我试了,但始终在IE里看不到结果,只有:“内部服务器错误”的消息。哪位有相关经验,敬请赐教!
解决方案 »
- indy post方法中传入的list参数如果值有+号,在jsp中变成空格了
- zuanfen sujie
- DELPHI7下载问题(100分)
- 如何在dbgrid中顯示數字1234232.0為1,234,232.0格式?在線等
- delphi7 做的程序如何在没有安装delphi7的机器上运行,各位大虾帮帮忙!
- RAVE报表设计
- 有谁会吗?
- BLOB问题,急急。。。。。解决了马上给分
- 我好郁闷呀。。。。。。。^<>^
- 怎样得到BDE内设置的别名列表,以及该别名的包含的表名列表?
- 菜鸟问题,解决明天早上给分
- 在使用websnap技术时如何通过后端的数据库使用websnap提供的3个控件进行身份验证呢?
zhye:=request.ContentFields.Values['zhye'];
name:=request.ContentFields.Values['name'];
num:=request.ContentFields.Values['num'];//四个从表单获取的数据; qry.Close;
qry.SQL.Clear;
qry.SQL.Add('select * from ksid where ksid.ksbh='+''''+num+'''');
qry.Open;
vxibie:=qry.Fields.Fields[1].AsString;
vzhye:=qry.Fields.Fields[2].AsString;
vname:=qry.Fields.Fields[3].AsString;
qry.Close;//查询数据库中响应记录;此段语句已通过简单测试程序测试;response.Content:='<html><body>data from db '+vxibie+vzhye+vname+'</body><html>';
用另外的测试程序——用一个按纽事件,激发数据库的查询——测试上面的语句时是完全ok的呀!
真的没人知道作为CGI程序,有什么不同吗?
今晚看了D5开发人员指南,里面有个例子,是用Table的locate来查找;满以为可以的,但还是不行。
就是想不明白,难道跟数据库连接真有这么难么?同样的别名、同样的表、同样的参数、同样的语句,在有窗体的测试程序中明明是ok的,为什么到了CGI/ISAPI这里就不灵了呢?郁闷 中!
1、检查表单数据是否准确地传到CGI;
2、qry.SQL.Add('select * from ksid where ksid.ksbh='+''''+num+'''');语句是否正确?如果ksid.ksbh是数字型的直接('select * from ksid where ksid.ksbh='+num)就行了,如果是字符串型,好像你的单引号多了些,应该是+ ''' + num + ''' 或者 + #39 + num + #39;
3、对数据表操作难免失败的时候,如果没找到符合条件或者数据库毛病,应该有异常相应,用网页显示错误,也好知道是哪里出了毛病;
4、如果是ISAPI,应该在远程数据模块上放TSession元件;
CGI 和 ISAPI 程序的权限是有限的,它可能不能直接访问你的数据库所在的目录。
那么,事实上,上面的语句是正确的,错误的是我自己,我将数据库中的字段名写错了! maozefa(之源) :谢谢你的建议!不过,真的应该要用四个单引号的。