为什么代码执行到 stmt.executeUpdate(addsql); 就不执行了?

kerelawei 2012-09-09 09:53:07
package week1_hw;

import java.io.IOException;
import java.io.PrintWriter;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

import javax.servlet.*;
import javax.servlet.http.*;

public class ConnDBA extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=GBK";

public void init(ServletConfig config) throws ServletException {
super.init(config);
}

public void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException,
IOException {
response.setContentType(CONTENT_TYPE);
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>ConnDBA</title></head>");
out.println("<body>");
//Connection conn=null;
// Statement stmt=null;
// ResultSet rs=null;
try {
//装载驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
//创建连接
Connection conn= DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "scott",
"tiger");
//创建发送SQL语句的对象
Statement stmt=conn.createStatement();
//对数据库进行操作
String addsql="INSERT INTO emp VALUES (7250,'HELLO','WORlD',101,1990-01-12,0000,123,10)" ;
out.println("<p>1111111.</p>");
stmt.executeUpdate(addsql);
out.println("<p>2222222.</p>");
String querysql="SELECT * FROM emp";
ResultSet rs = stmt.executeQuery(querysql);
//处理操作结果
while(rs.next())
{
out.println(
rs.getInt(1)+" "+ rs.getString(2)+" "+
rs.getString(3)+" "+ rs.getInt(4)+" "+
rs.getDate(5)+" "+ rs.getInt(6)+" "+
rs.getInt(7)+" "+rs.getInt(8)+"<br />");
}

if (rs != null)
rs.close();
if (stmt != null)
stmt.close();
if (conn != null)
conn.close();
}
catch (Exception e) {
e.printStackTrace();
}

out.println("<p>The servlet has received a GET. This is the reply.</p>");
out.println("</body></html>");
out.close();
}
}
...全文
439 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
s478853630 2012-09-09
  • 打赏
  • 举报
回复
会不会是线程阻塞或者进程假死,
你关闭tomcat和eclipse重新来一下吧!

3楼的分析也有道理,不仅要加单引号,
如果数据库是日期(date)格式,还要转型:to_date('1990-01-12','yyyy-mm-dd')
xiaoxie_advent 2012-09-09
  • 打赏
  • 举报
回复
addsql有问题,如果是中文系统的话日期应是不能这样直接写的,试试to_date方法
wsyangzuda 2012-09-09
  • 打赏
  • 举报
回复
stmt.executeUpdate(addsql); ---- 这句话出错了,可以推理addsql有问题

也就是这条语句 -- String addsql="INSERT INTO emp VALUES (7250,'HELLO','WORlD',101,1990-01-12,0000,123,10)" ;

经观察,是你的sql语句语法出错了。

7250 ,101,1990-01-12,0000,123,10 这些插入的语句都要加上'' ,和你的'HELLO'这格式一样。
qsong 2012-09-09
  • 打赏
  • 举报
回复
INSERT INTO emp VALUES (7250,'HELLO','WORlD',101,1990-01-12,0000,123,10)

这句应该有问题。
qsong 2012-09-09
  • 打赏
  • 举报
回复
stmt.executeUpdate(addsql);

是不是到了这句话后,就抛异常了?直接被catch()了
内容概要:本文针对无刷直流电机驱动的电子机械制动(EMB)执行器,建立了考虑Stribeck摩擦特性的非线性耦合动力学模型,并在Simulink环境中完成了系统级仿真分析。研究综合集成了电机动力学、齿轮传动机构与制动执行机构的动力学特性,构建了高保真的机电一体化系统模型。重点引入Stribeck摩擦模型以精确描述低速工况下执行器内部存在的静摩擦、粘滞摩擦与库仑摩擦之间的过渡行为,有效提升了系统在启停、反向运动等瞬态过程中的动态响应仿真精度。通过多工况仿真验证了模型的有效性,能够准确反映摩擦引起的爬行、滞后与定位误差等非线性现象,为EMB系统的高性能控制算法设计(如摩擦补偿、滑模控制)与结构优化提供了高可信度的仿真平台。; 适合人群:从事汽车电子制动系统、电机驱动控制、机电系统建模与仿真研究的研究生、科研人员及工程技术人员,需具备扎实的机械动力学、自动控制理论基础和MATLAB/Simulink仿真能力。; 使用场景及目标:①用于高精度电子机械制动系统的设计验证与性能预测;②为消除摩擦非线性影响的先进控制策略(如自适应控制、智能控制)提供精确的被控对象模型;③深入探究Stribeck摩擦等非线性因素对系统动态性能(如响应延迟、稳态误差)的作用机理; 阅读建议:读者应结合提供的Simulink模型文件,深入剖析Stribeck摩擦模块的数学实现与参数辨识方法,建议通过改变输入指令(如阶跃、正弦)和负载条件进行对比仿真,以直观理解非线性摩擦对系统动态特性的影响。

67,535

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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