请教 如何得到 conn.prepareStatement 最终执行的sql 语句。
stmt = con.prepareStatement(sql);
sql="update table1 set a=?,b=?"
stmt.setObjec t(1,"a");
stmt.setObjec t(2,"b");
希望可以通过
stmt或者conn 得到update table1 set a='a',b='b'
stmt = con.prepareStatement(sql);
sql="update table1 set a=?,b=?"
stmt.setObjec t(1,"a");
stmt.setObjec t(2,"b");
希望可以通过
stmt或者conn 得到update table1 set a='a',b='b'
解决方案 »
- 对象池中对象的创建
- java和c++的内部类的问题
- /en 什么意思啊,怎么编译不通过~~
- 多线程出现NullPointerException怎么解决?
- 不同的包里面有名字一样的class可以吗?
- 还是关于HELLOWORLD的小问题
- 安装JRE一定要Administrator权限吗?
- javac命令能产生HelloWorld.class,但是用java HelloWorld却产生一个错误信息。请问该怎么办
- cafe是什么?
- 在JB中新建了一个APPLET,在其中使用了borland自己的数据类,打包后在IE中使用时出现了问题!
- 我写的线程小程序,可是发现线程内的Run()方法内的代码并没有执行,请高手指点。
- 错误:Exception in thread "main" java.lang.noclassdeffounderror:c:\jdk\AriDemo
1.调试sql 语句
2.写sql log。
就可以拉
stmt = con.prepareStatement(sql);
sql="update table1 set a=?,b=?"
stmt.setString(1,"a");
stmt.setString(2,"b");
确实没有提供拼sql功能,由于项目中要求出sql log,再者为调试方便,偶自己写了个方法,凑合能用。改天贴出来共享。
StringTokenizer token = new StringTokenizer(targetStr, "?", false);
StringBuffer buf = new StringBuffer();
for (int i = 0; i < sqlValues.length; i++) {
buf.append(token.nextToken());
buf.append("'" + sqlValues[i] + "'");
}
return buf.toString();
}