为什么检索不到记录?
我写了一个DAO类,其中有一个boolean existObject(Object obj)方法用来判断指定的用户是否存在代码如下:
public boolean existObject(Object obj) //ojb为传入的用户名
{
System.out.println("existObject(Object obj)");
String userName = (String)obj;
System.out.println(userName);
conn = DBConnect.getConnection();
System.out.println("getConnecgtioned");
try
{ //prop为一个Properties对象用于加载sqlkey.properties文件里的sql语句
prop.load(DBConnect.class.getResourceAsStream("sqlkey.properties"));
System.out.println("sqlkey.properties prop.loaded");
//判断是否存在指定SQL语句
if(prop.containsKey("userDao.selectByUserName"))
{
System.out.println("if prop.containsKey(userDao.selectByUserName true");
//取出指定的SQL语句
String sql = prop.getProperty("userDao.selectByUserName");
System.out.println(sql);
pst = conn.prepareStatement(sql);
System.out.println("psted");
pst.setString(1,userName);
System.out.println("pst.setString(1,userName)ed");
res = pst.executeQuery(); //执行查询
//if(pst.execute())
//{
// res = pst.getResultSet();
// System.out.println("res = pst.getResultSet()");
//}
System.out.println("res.getRow() = "+res.getRow());
// 判断是否只有一条记录
if(res.getRow()==1) is = true;
else is = false;
System.out.println("pst.exectue()ed");
}
else
{ //不存在指定的SQL语句
System.out.println("if prop.containsKey(userDao.selectByUserName false");
}
}
catch(Exception e)
{
e.printStackTrace();
}
finally
{
try
{
if(res!=null) res.close();
if(pst!=null) pst.close();
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
return is;
}
现在的问题是
查询语句已经取出并显示在调试信息里。
select * from userT where userName = ?
指定的用户名也已经传入,也显示在调试信息里了。
可是取出的记录集条数却是0
System.out.println("res.getRow() = "+res.getRow());
res.getRow() = 0
请大家帮我看看问题出在那里???????