新手问题:查询数据库时的问题!
我在写一个登陆验证的时候这么写的:
连接数据库语句省去:
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的就是正解啊