如何使用java中的方法从mysql数据库获取数据?
我在mysql的一些模式中有一个代表性的表,该表有一个名为userName的列。现在,为了登录到程序,我需要从框架中的文本字段中获取数据,并用该列中的所有用户名检查它。用户名列有多行!如果用户名jtextfield中的文本等于其中一行,则允许登录! 我需要一种方法来做到这一点。我写了一些东西,但它不工作! 在这里:如何使用java中的方法从mysql数据库获取数据?,java,jdbc,Java,Jdbc,我在mysql的一些模式中有一个代表性的表,该表有一个名为userName的列。现在,为了登录到程序,我需要从框架中的文本字段中获取数据,并用该列中的所有用户名检查它。用户名列有多行!如果用户名jtextfield中的文本等于其中一行,则允许登录! 我需要一种方法来做到这一点。我写了一些东西,但它不工作! 在这里: 问题在于if中的字符串相等性检查。始终使用相等方法检查字符串相等性。==运算符检查两个引用变量是否指向同一对象。检查两个参考变量是否相同。equals方法检查如果两个对象被认为是有意
问题在于if中的字符串相等性检查。始终使用相等方法检查字符串相等性。==运算符检查两个引用变量是否指向同一对象。检查两个参考变量是否相同。equals方法检查如果两个对象被认为是有意义的相等
if(user == rs.getString("passWord")){
should be
if(user.equals(rs.getString("passWord"))){
问题在于if中的字符串相等性检查。始终使用相等方法检查字符串相等性。==运算符检查两个引用变量是否指向同一对象。检查两个参考变量是否相同。equals方法检查如果两个对象被认为是有意义的相等
if(user == rs.getString("passWord")){
should be
if(user.equals(rs.getString("passWord"))){
我想你应该试试这个
....
if (user.equals(rs.getString("passWord"))
....
我想你应该试试这个
....
if (user.equals(rs.getString("passWord"))
....
您的查询应该更为具体,如SELECT*FROM representative where user=?密码=?; 在prepareStatement中,应设置这些动态值
st = con.prepareStatement(sql);
st.setString(1,user);
st.setString(2,pass);
你需要像这样检查结果-
//no while
if(rs.next()){
System.out.println("user found in db");
return true;
}
您的查询应该更为具体,如SELECT*FROM representative where user=?密码=?; 在prepareStatement中,应设置这些动态值
st = con.prepareStatement(sql);
st.setString(1,user);
st.setString(2,pass);
你需要像这样检查结果-
//no while
if(rs.next()){
System.out.println("user found in db");
return true;
}
我已经面对了这个错误!!您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解使用接近“”的正确语法?第1行的密码=?'maim查询是:从代表中选择*其中用户名=?密码=?问题是什么?@user1828782您是否使用PrepareStatement执行查询?我遇到了这个错误!!您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解使用接近“”的正确语法?第1行的密码=?'maim查询是:从代表中选择*其中用户名=?密码=?问题是什么?@user1828782您是否使用PrepareStatement执行查询?我遇到了这个错误!!您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解使用接近“”的正确语法?第1行的密码=?'maim查询是:从代表中选择*其中用户名=?密码=?有什么问题?我在查询中看不到任何问题,但您可以在查询浏览器中验证查询。我遇到了这个错误!!您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解使用接近“”的正确语法?第1行的密码=?'maim查询是:从代表中选择*其中用户名=?密码=?有什么问题?我在查询中看不到任何问题,但您可以在查询浏览器中验证查询。