当前位置:  技术问答>java相关

在调试时如何打印出一个完整的SQL语句?

    来源: 互联网  发布时间:2017-03-24

    本文导语:  1.问题1 我在写sql语句时,用?代替一系列变量,然后用PreparedStatement 中的方法 分别给?对应的变量赋值,我想知道在System.out.println(strSql)时 如何打印出来一个给?赋值后的完整的SQL语句? 2.问题2 用PreparedStatement 和...

1.问题1
我在写sql语句时,用?代替一系列变量,然后用PreparedStatement 中的方法
分别给?对应的变量赋值,我想知道在System.out.println(strSql)时
如何打印出来一个给?赋值后的完整的SQL语句?
2.问题2
用PreparedStatement 和用Statement 有何区别?

实例如下:
PreparedStatement ps=null;
String strSql="";

strSql="insert into jia_purch(hp_bianh,hp_mingc,hp_guig,hp_gouhjg,hp_gouhsl) "
+" values(?,?,?,?,?)";
ps=con.prepareStatement(strSql);

ps.setString(1,purchDO.getHPbianh()) ;  //货品编号
ps.setString(2,purchDO.getHPmingc()) ;  //货品名称
ps.setString(3,purchDO.getHPguig()) ;   //货品规格
ps.setDouble(8,purchDO.getHPgouhjg());  //购货价格
ps.setInt(9,purchDO.getHPgouhsl());     //购货数量

ps.executeUpdate();
在执行上面的语句时,出错了,我想将给变量?赋值后的SQL语句打印出来,
应该如何处理呀?

|
PreparedStatemen是Statement的一个子类,Statement不需要传参数,一般的情况下都用此方法。PreparedStatemen必须传sql参数,具有ps.setString(),ps.setInt()等方法,如果同一个sql语句被多次执行时,此方法比较好,但此方法有一个弱点就是你所说的打印不出传过参数后的一个带参数植的sql语句

|
除非不得已,一般不要用prepareStatement,好多书上有教.

|
strSql="insert into jia_purch(hp_bianh,hp_mingc,hp_guig,hp_gouhjg,hp_gouhsl) "
+" values(?,?,?,?,?)";

是打印不出?所代表的值的。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • python之平台独立的调试工具winpdb介绍
  • 有调试经验的高手请进:调试程序如何生成core?如何调试core文件定位错误。
  • 如何使用linux下gdb来调试python程序
  • kdevelop开发 网络程序 如何调试? 如何调试服务器端的程序
  • kgdb调试环境配好了,怎么调试内核阿?????
  • UNIX下可逐行调试的调试软件
  • 大家一般用什么调试器调试intell格式的汇编?
  • GDB调试问题,多共享库调试
  • linux下用gdb调试程序感觉非常不方便,不知道大家使用的什么工具进行调试的呀?
  • 关于GDB无法调试segmentaton fault的问题,调试就死机
  • ?:兄弟们,谈谈jsp的调试环境吧,谁有好的调试方法啊?
  • linux 新手散分贴 我要在linux下调试多个.c和.h文件的程序 怎么调试?
  • UNIX下C++可以用ddd来调试,请问bash shell程序有什么好的调试工具么??
  • 如何调试多线程的代码? 多何调试网络代码 服务器的和客户端的
  • 程序访问内存非法退出,调试core时,却发现#0 0x00000000 in ?? () ,奶奶的,已经加了调试信息了
  • gdb调试时命令行参数如何输入?比如main(int argc,char **argv)中,我要把一个filename作为argv[1]传入给gdb调试
  • linux gdb: 我在一台机器上编译的程序用GDB可以调试,把程序放到另外一台机器上调试,调试信息就没有了 这是什么原因呢?
  • 为什么JCreator Pro 2.00_007不能进行单步调试,Build菜单下单步调试的选项是灰色的???好痛苦。。
  • gdb调试如何跟踪进入另外一个包含文件的内部函数进行调试?
  • 请问gdb是不是只能调试gcc编译的程序,在unix下用其它编译器编译的程序是不是不一定能用gdb调试的?
  • gdb调试,每次循环怎么运行到指定的断点处,而不是单步调试


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    busybox中的gzip运行过程中出现page fault错误,并指出出错的指针,但是怎么使用gdb调试,找到指针对应的语句? iis7站长之家