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>

第1个回答  推荐于2018-03-08
rs=stmt.executeUpdate(condition);
这句话有问题。
rs是记录集ResultSet对象,而stmt.executeUpdate()方法则返回所更新的记录条数,为int型,所以出现类型转换错误。建议改成:
int updateNumber=stmt.executeUpdate(condition);
本回答被提问者和网友采纳
第2个回答  2011-06-27
rs=stmt.executeUpdate(condition1); 这句错了 你SQL语句是插入语句 返回的是受影响的行数 不能用ResultSet去接收 应该用一个int变量去接收
第3个回答  2011-06-26
rs=stmt.executeUpdate(condition1);//明显错误呀。executeUpdate执行结果返回的是int类型不可能给rs。

JSP错误求解:Type mismatch: cannot convert from int to ResultSet
rs=stmt.executeUpdate(condition);这句话有问题。rs是记录集ResultSet对象,而stmt.executeUpdate()方法则返回所更新的记录条数,为int型,所以出现类型转换错误。建议改成:int updateNumber=stmt.executeUpdate(condition);

jsp 报错显示cannot convert from int to string
tmp是字符串,要改成tmp = "0"

java.sql.SQLException: Cannot convert value '0000-00-00 00:00:0...
但是在使用ResultSet.getTimestamp()时也不是完全安全的,例如,当数据库中的TIMESTAMP类型的字段值为 '0000-00-00 00:00:00'时,使用此方法进行读取,会抛出异常:Cannot convert value '0000-00-00 00:00:00' from column 1 to TIMESTAMP,这是因为JDBC不能将'0000-00-00 00:00:00'转化为...

Type mismatch: cannot convert from int to ResultSet
rs=stmt.executeUpdate(condition);这句话有问题。rs是记录集ResultSet对象,而stmt.executeUpdate()方法则返回所更新的记录条数,为int型,所以出现类型转换错误。建议改成:int updateNumber=stmt.executeUpdate(condition);

相似回答