java - 可以重置参数化SQL吗?
问题描述
我是Parameterized SQL的新手,我要做的是用它更新东西,这很好,但是我有一个(日志)表,其中保存了 Parameterized SQL 作为所发生事件的描述,当我将 Parameterized SQL 插入log_table
它时一直显示“?” 这个符号
保存日志的代码:
PreparedStatement stat;
ResultSet rs;
String sql="insert into rozhanai_log values (null,?,?,?)";
try
{
stat = conn.prepareStatement(sql);
stat.setString(1,sqlParadanan);//(sqlParadanan) is my parameterized SQL String
stat.setTimestamp(2,time);
stat.setString(3,empName);
stat.execute();
}
catch (Exception e)
{
System.out.println("log Nabw");
e.printStackTrace();
}
和(日志)表中的 SQL 字符串如下所示:
update rozhanai_customer_account set rozhanai_money_balance = rozhanai_money_balance + 1000.0 where rozhanai_account_id=?
我能在这里做什么?
我正在考虑类似的事情(重新设置参数)?
谢谢
解决方案
感谢a_horse_with_no_name的帮助,只需 withPreparedStatement.toString()
就可以得到没有任何?
符号的 SQL 字符串
.
.
stat.setString(3,empName);
String fullSQL = stat.toString();
System.out.println(fullSQL);
.
.
.
输出 :
com.mysql.jdbc.JDBC4PreparedStatement@6b179d: insert into rozhanai_log values (null,update rozhanai_customer...,2018-05-23,'Hama')
谢谢你
推荐阅读
- node.js - 在 Loopback 中保存 Hook 后如何避免内部更新
- javascript - 如何在Javascript中过滤对象数组中的数组?
- node.js - 尝试使用 gRPC 运行 node.js 时出错
- reactjs - 即使我将托盘的声明放在全局变量中,电子托盘也会消失
- python - as.Date() Python 中的 R 等效项
- android - Android: Display ImageView on the Activity after touching the screen and then move with finger
- javascript - jquery:收集所有图标图像并将它们插入到每个 h2 元素之后以进行移动视图
- swift - Swift/MLKit:如何初始化 TextRecognizer?
- elasticsearch - 从logstash连接到amazon elasticsearch时遇到403 access denied错误
- reporting-services - Power BI Report Builder 多参数抛出错误