验证登陆账号密码是否匹配时当在sql表中用户名为int时无错误 当改为字符串就有以下错误 如 账号为123密码1234就可以 账号ddd密码123就会出现以下错误这是处理那一段的代码:String str2="SELECT PassWord FROM uuu WHERE ID="+ulog.getText().trim();
ResultSet rs=op1.query(str2);
while(rs.next())
{
String str3="",str4="";
str3=rs.getString("PassWord");
// if(rs.getString("PassWord")==null);
// System.out.print("aaaaa");
str4=ulogin.getText();
if(str3.equals(str4))
{
System.out.println("ok");
}
else
{
System.out.println("pass word err");
}
Error::java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][SQL Server]将
varchar 值 'ddd' 转换为数据类型为 int 的列时发生语法错误。
ResultSet rs=op1.query(str2);
while(rs.next())
{
String str3="",str4="";
str3=rs.getString("PassWord");
// if(rs.getString("PassWord")==null);
// System.out.print("aaaaa");
str4=ulogin.getText();
if(str3.equals(str4))
{
System.out.println("ok");
}
else
{
System.out.println("pass word err");
}
Error::java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][SQL Server]将
varchar 值 'ddd' 转换为数据类型为 int 的列时发生语法错误。
你的sql有误
ID是varchar吧,
把ID属性改为varchar
"SELECT count(*) FROM uuu WHERE ID= ? and pass = ? "再取返回的值,,如果值大于或者等于1的话,就... ...