JSP错误求解:Type mismatch: cannot convert from int to ResultSet
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<%@ page import="java.sql.*" %>
<html>
<head>
<title>用户注册</title>
</head>
<body>
<%
//获取学号
String username=request.getParameter("userid");
if(username==null)
{username="";}
byte b[]=username.getBytes("ISO-8859-1");
username=new String(b);
//获取提交的名字
String password=request.getParameter("password");
if(password==null)
{password="";}
byte c[] =password.getBytes("ISO_8859_1");
password=new String(c);
//加载驱动
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
// 得到链接
String url="jdbc:Microsoft:sqlserver://localhost:1433;DatabaseName=cart";
try{
Connection conn= DriverManager.getConnection(url,"sa","");
//创建Statement
Statement stmt=conn.createStatement();
String condition1="insert into users(userId,username,passwd) values('','"+username+"','"+password+")";
ResultSet rs;
rs=stmt.executeUpdate(condition1);
}
conn.close();
}
catch(SQLException e1){
out.print(e1);}*/
%>
</body>
</html>
答案:rs=stmt.executeUpdate(condition);
这句话有问题。
rs是记录集ResultSet对象,而stmt.executeUpdate()方法则返回所更新的记录条数,为int型,所以出现类型转换错误。建议改成:
int updateNumber=stmt.executeUpdate(condition);
其他:rs=stmt.executeUpdate(condition1);//明显错误呀。executeUpdate执行结果返回的是int类型不可能给rs。 rs=stmt.executeUpdate(condition1); 这句错了 你SQL语句是插入语句 返回的是受影响的行数 不能用ResultSet去接收 应该用一个int变量去接收
上一个:如何在Jsp页面输出JavaScript的数据?
下一个:用flash做网站,怎么操作按钮的链接,看过几个例子,用的是jsp但是试了一下,不行呀