读书人

新手有关问题:查询数据库时的有关问题

发布时间: 2012-02-17 17:50:42 作者: rapoo

新手问题:查询数据库时的问题!
我在写一个登陆验证的时候这么写的:
连接数据库语句省去:
String sql= "select * from login_tab where username= "+username;
System.out.println(sql);

ResultSet rs = stmt.executeQuery(sql);
//.............

LoginVO lv = new LoginVO();

if(rs.next()){
lv.setId(rs.getInt( "id "));
lv.setUsername(rs.getString( "username "));
lv.setPassword(rs.getString( "password "));
lv.setPoint(rs.getString( "point "));
}
stmt.close();
conn.close();

return lv;数据库中有这个username字段:
而我在运行的时候提示这样的错误:
[Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]?? 'uername ' ???
在用整形的的变量做查询条件的时候这样写没有错:
String sql= "select * from login_tab where username= "+username;
ResultSet rs = stmt.executeQuery(sql);
我不知道String 行的直接用加号连接是否可以,如果可以那么错误处在那里,不可以该怎么写.


[解决办法]
String sql= "select * from login_tab where username= ' "+username " ' ";

加上单引号看看
[解决办法]
试试String sql= "select * from login_tab where login_tab.username= "+username;
再不行就单步调试
[解决办法]

String sql= "select * from login_tab where username= ' "+username+ " ' ";
或者用预处理

[解决办法]
明显是少了单引号啊
killme2008的就是正解啊

读书人网 >Java Web开发

热点推荐