SQL异常~~~(急)
新人,请高手指点指点
代码如下:
try { Class.forName( "com.microsoft.jdbc.sqlserver.SQLServerDriver "); }
catch(
ClassNotFoundException e) { out.print( "类找不到! "); }
try
{String loginname=request.getParameter( "loginname ");
String loginpasswd=request.getParameter( "loginpasswd ");
if((loginname.compareTo( "jmwxs "))==0 &
(loginpasswd.compareTo( "jmwxs "))==0) {
%>
<jsp:forward page= "login_admin.jsp "> </jsp:forward>
<%}
else{
Connection con;
Statement sql;
ResultSet rs;
con=DriverManager.getConnection( "jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=project ", " ", " ");
sql=con.createStatement();
rs=sql.executeQuery( "select usename,usepasswd from account where usename= ' "+loginname+ " 'and usepasswd= ' "+loginpasswd+ " ' ");
if(rs.next()){
%>
<jsp:forward page= "login_use.jsp "> </jsp:forward>
<%}
else{out.print( "抱歉!账户或密码错误 ");}
}
}
catch(
SQLException e1)
{ out.print( "SQL异常! "); }
%>
不知道为什么老是说:SQL异常!
我用JDBC-ODBC是可以的,一点问题都没有,上面的代码不知是不是在那搞错了,
虽然我可以用JDBC-ODBC做下去,但我想真正学好JSP啊,所以,不懂弄到懂,
先谢谢高手。
------解决方案--------------------必须打上sp3或sp4 sql server 2000补丁
------解决方案--------------------把异常信息贴出来
------解决方案--------------------String loginname=request.getParameter( "loginname ");
String loginpasswd=request.getParameter( "loginpasswd ");
这两个控件名都相对应么?你也没做不为空的判断 如果为空的话 也就异常!
------解决方案--------------------String loginname=request.getParameter( "loginname ")!=null?request.getParameter( "loginname "): " ";
String loginpasswd=request.getParameter( "loginpasswd ")!=null?request.getParameter( "loginpasswd "): " ";
使用后台输出找异常或使用段点调试。
------解决方案--------------------你把捕获异常的try catch 这个去掉
然后运行一遍,应该会出现报错信息 这样更容易查找一些
------解决方案--------------------你安装混合模式的时候SQL SERVER就会提示你设不设置sa用户的密码,sa也就是system admin的意思,,你没设密码所以用户为sa 密码为空,楼主努力!..
------解决方案--------------------安全设置里面都可以设置用户权限密码的
------解决方案--------------------导入SQL SERVER的jar包了吗