初学jsp大家帮忙阿

什么都不能 2007-03-12 10:41:43
<%@ page language="java" contentType="text/html;charset=gb2312" %>
<%@ page import="java.sql.*" %>
<%
try{
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
String url="jdbc:mysql://localhost/notebook?user=root&password=1234";
Connection conn=DriverManager.getConnection(url);
Statement stmt=conn.createStatement();
out.println(stmt.execute("insert into users (username) values ('ht')"));
stmt.close();
conn.close();
}
catch(SQLException e)
{
out.println("发生异常:"+e.getMessage());
}
%>
新数据已经插入数据库中
为什么结果总是false?
...全文
280 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
liaohaiying 2007-03-13
  • 打赏
  • 举报
回复
statement.execute()用在查询时返回数据集的
statement.executeUpdate()用在对数据库操作时成功的次数也就是行数,它返回的也不是真和假,但你可以自己判断一下,
sdfasd = false;
if(statement.executeUpdate(".........")>0)
{
sdfasd = true;
}
return sdfasd;
什么都不能 2007-03-13
  • 打赏
  • 举报
回复
好,谢谢pczhouji,结贴
fwqerhg 2007-03-12
  • 打赏
  • 举报
回复
用executeUpdate这个方法来进行插入操作
伟大的左前卫 2007-03-12
  • 打赏
  • 举报
回复
一般很少用,如果sql语句执行结果是多个ResultSet或者更新计数时才用到。
什么都不能 2007-03-12
  • 打赏
  • 举报
回复
那么statement.execute();一般应用在什么情况下?
伟大的左前卫 2007-03-12
  • 打赏
  • 举报
回复
statement.execute()返回false并不代表sql语句执行失败,因为只有执行结果是ResultSet时才返回true,insert、update返回的都是false。你可以用statement.executeUpdate()代替,它返回的是更新的行数。
什么都不能 2007-03-12
  • 打赏
  • 举报
回复
不是,有主键id autoincrease
jgsfy 2007-03-12
  • 打赏
  • 举报
回复
username是不是主建

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧