JAVA中写出的sql对比问题

来源:百度知道 编辑:UC知道 时间:2024/06/16 09:51:10
java文件中拼出两种sql语句

public void update(DbPool dbpool) throws Exception{
String strSQL = " Update PrpDagent Set" +
" AgentCode = " + "'" +getAgentCode() + "'" +
" Where AgentCode = " + "'" +getAgentCode() + "'";
dbpool.update(strSQL);

这种好理解,System就直接打出 Update 语句了~

还有一种
public void update(DbPool dbpool) throws Exception{
String strSQL = " Update PrpDagent Set" +
" AgentCode = ?," +
String strSQL = " Update PrpDagent Set" +
" AgentCode = ?," +
dbpool.setString(index++,getAgentName());

第二种拼出的~出错了都不知道是哪里报错~sql语句怎么打出来?

这两种写法有什么不同?
dbpool.setString(index++,getAgentName());

这是在一个for里面的 index++,可以忽略

我个人比较喜欢第一种,你的第二种有语法错误啊!我也没用过!
第二种的意图应该是先将参数用?代替,最后在给参数赋值,在Spring 的DAO中有这种写法,不过完全可以用第一种代替的。
学程序要适当追求一点囫囵吞枣,因为现在就算给你讲了,也很难理解,还有就是你以后懂的多了,自然会明白的。
希望我的回答对你有帮助,有问题我们可以互相探讨的!呵呵