jdbc的简单问题
ttoc 2004-06-24 01:33:05 我有一个表,叫ExChangeRete
里边有两个字段一个叫Currency是字符型的,一个叫Rete是双精度型的
我写了这么一段代码:
----------------------------------------------------------
public String getdata(String currency){
try {
String sql="SELECT Rete FROM ExChangeRete WHERE Currency='?'";
pStmt=con.prepareStatement(sql);//■■■1
pStmt.setString(1,currency);//■■■2
ResultSet rs=pStmt.executeQuery();
while (rs.next()){
return rs.getString("Rete");
}
stmt.close();
return "ERR";
} catch (Exception e) {
System.out.println("GetDate "+e);
return "ERR";
}
}
-------------------------------------------------------
程序运行后,打印GetDate java.lang.NullPointerException
如果在1和2之间打印一句话,能打印出来,在2后边加什么都打印不出来了
如果用
stmt=con.createStatement();
ResultSet rs=stmt.executeQuery("SELECT Rete FROM ExChangeRete WHERE Currency='"+currency+"'");
就正常
这是怎么回事呀,我的代码写错了吗?麻烦大家帮忙了~