收录日期:2020/09/27 00:02:32 时间:2016/06/14 05:51:33 标签:Web 开发
       麻烦各位前辈指点意见:我的问题是 如果输入的userName是 数字帐号的话 登录没问题,输入英文帐号就报这样的错:([Microsoft][SQLServer 2000 Driver for JDBC]Value can not be converted to requested type.) 我查了相关资料,还是找不到解决的方法。 

首先是jsp页面:  页面头属性<%@ page language="java" pageEncoding="GBK"%>
               还有就是2个 文本框: userName 和userPassword


Servlet:     在doGet()
              String userName=rquest.getParameter("UserName");
              .....

DB:           连接 MS-sqlserver2000 没问题


DAO:         public boolean checkUserLogin(String name,String pwd)  //验证用户登录信息
{
boolean flag=false;
System.out.println("用户名是:"+name+"密码: "+pwd);
                  String sql="select * from regUser where userName=? and userPassword=?";

System.out.println("用户登录的sql语句: "+sql);
try{
prepar=conn.prepareStatement(sql);
prepar.setString(1, name);
prepar.setString(2, pwd);
res=prepar.executeQuery();

if(res.next())
{
if(res.getInt(1)>0)
{
flag=true;
System.out.println("恭喜用户登录成功!");
}
else
{
flag=false;
}
}
else
{
flag=false;
System.out.println("很抱歉数据库无用户信息记录");

}
   }
catch(Exception e)
{
flag=false;
e.printStackTrace();
}
return flag;
}
你的数据库字段username是什么类型的?怀疑是因为试图将一个字符类型输入转换成数字类型报错
如果字段类型没问题,请参考http://support.microsoft.com/kb/823689
res.getInt(1)是username?还是什么?如果是username这个地方有可能报错(在非数字类型的时候)。
      很感谢 lizzz的关注!我的后台数据库 表里的userName,userPassword 都是 varchar 类型啊。。  
res.getInt(1)>0)
userName是字母时这句怎么可能会对呢?


if(res.next()) { 
    if(res.getInt(1)> 0) { 
        flag=true; 
        System.out.println("恭喜用户登录成功!"); 
    } else { 
        flag=false;
    } 
} else { 
    flag=false; 
    System.out.println("很抱歉数据库无用户信息记录"); 
}


改成下面的试试看:
if(res.next()) { 
    flag=true; 
    System.out.println("恭喜用户登录成功!"); 
} else { 
    flag=false; 
    System.out.println("很抱歉数据库无用户信息记录");
}


PS:以后发帖尽量使用Java标签括起来,缩进一些,否则会看得头晕的。
      谢谢 火龙兄的提醒。。 我试试
       是的。问题就出在  if(res.getInt(1)> 0)  ,看来还有 很多东西 需要仔细的了解 才能用! 再次感谢 火龙果
        
可以用select  count(*) as count  from   regUser   where   userName=?   and   userPassword=?
这个试试

ASP.NET 自动生成函数问题 谁能帮我讲解一下这段多条件查询linq语句代码 DWORD word=(DWORD)My_printf 为什么是个1!=1的式子? 敏感图像的定义 wcf从另一方收到未进行安全处理或安全处理不正确的错误 比较两句SQL有何不同 请教个问题 gearbox 5.0 能给个下载地址吗? 64位2003 server服务器 JMAIL注册成功后,仍然无法使用问题 jsp 插入数据 到 sqlserver2000 乱码问题 VS2005中VC编程如何将字符串定义成unicode类型 如何让sa执行非sa创建的存储过程? 请问怎么解决include引入文件之后间距变大~ 手机和服务器数据库 新更改和增量更改 同步 在线等答案 请教一个数据库连接奇怪的问题 求教:char[]压缩问题! oracle建分区时能否只按时间不要日期限制?? SQL计算问题 xml编码格式 出现了“error C2248”问题……欸 NHibernate, HQL分页如何实现? struts1 struts2 jquery???? 请教内存释放的问题 和出轨女友分了,那时挺男人了一回! 打印预览 和 截图在实现上一样吗 [已处理] 请查一下nowish被全站封的原因,谢谢! C语言中用random函数需要什么头文件 请教内存释放的问题