高手教我-关于数据库数据的删除(在线等待)

druide 2002-11-23 02:20:35
忙了一上午,怎么也没有搞明白。
我的源程序如下:
<%@ page contentType="text/html; charset=Gb2312" import="java.sql.*"%>
<html>
<head>
<title>删除不用的数据</title>
</head>
<body>
<%
String mystr=request.getParameter("song1");
String mystr1;
if(mystr.equals(""))
{
response.sendRedirect("del1.htm");
}
else
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn=DriverManager.getConnection("jdbc:odbc:panchang");
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
mystr1="delete * from employee where id = '" + mystr + "'";
stmt.executeUpdate(mystr1);
stmt.close();
conn.close();
%>
<P>您输入的记录已被<font color=red>删除</font></P>
<%
}
%>

</body>
</html>
另外,数据库采用:access
数据源名:panchang
表: employee
其中表中字段:
id 数字
name 文本
gender 文本
age 数字
出错信息如下:
java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] 苃?-pn{?9M
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6106)
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:6263)
at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(JdbcOdbc.java:2525)
at sun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:337)
at sun.jdbc.odbc.JdbcOdbcStatement.executeUpdate(JdbcOdbcStatement.java:287)
at _jsp._website._del__jsp._jspService(/website/del.jsp:20)
at com.caucho.jsp.JavaPage.service(JavaPage.java:89)
at com.caucho.jsp.JavaPage.subservice(JavaPage.java:83)
at com.caucho.jsp.Page.service(Page.java:280)
at com.caucho.jsp.QServlet.service(QServlet.java:161)
at com.caucho.server.http.AbstractRequest.service(AbstractRequest.java:452)
at com.caucho.server.http.AbstractRequest.service(AbstractRequest.java:395)
at com.caucho.server.http.PageCache$Entry.service(PageCache.java:256)
at com.caucho.server.http.PageCache.service(PageCache.java:105)
at com.caucho.server.http.VirtualHost.service(VirtualHost.java:406)
at com.caucho.server.http.Request.dispatch(Request.java:211)
at com.caucho.server.http.RunnerRequest.handleRequest(RunnerRequest.java:307)
at com.caucho.server.http.RunnerRequest.handleConnection(RunnerRequest.java:257)
at com.caucho.server.TcpConnection.run(TcpConnection.java:139)
at java.lang.Thread.run(Thread.java:536)




...全文
93 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
freefalcon 2002-11-23
  • 打赏
  • 举报
回复
两处错误:
1.delete中不使用*
2.字段类型不一致,id是数字,不要加引号,但如果mystr是String类型的,则需要转换
mystr1="delete from employee where id = " + Integer.parseInt(mystr);
druide 2002-11-23
  • 打赏
  • 举报
回复
多谢指点,我采用itok000的方法,结果没有问题。
可是到我加上if else后,总告诉:else without if
catch without try

天啊,我晕了
weiyidress 2002-11-23
  • 打赏
  • 举报
回复
你创建的state是只读的
itok000 2002-11-23
  • 打赏
  • 举报
回复
将mystr1="delete * from employee where id = '" + mystr + "'";
改成mystr1="delete * from employee where id = " + mystr + ";
因为你的字段id是数字,不是文本类型
druide 2002-11-23
  • 打赏
  • 举报
回复
java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] 标准表达式中数据类型不匹配。
sunlai 2002-11-23
  • 打赏
  • 举报
回复
你试一下将异常打印出来,看一下是什么问题

try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn=DriverManager.getConnection("jdbc:odbc:panchang");
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
mystr1="delete * from employee where id = '" + mystr + "'";
stmt.executeUpdate(mystr1);
stmt.close();
conn.close();

}catch (SQLException e){out.print(e);}
内容概要:本文围绕可变桨叶四旋翼无人机的规范控制与点对点运动模拟展开,重点研究优化推力分配策略在翻转动作中的应用与性能比较。通过Matlab代码实现,构建了四旋翼动力学模型,并设计了多种控制算法以实现精确的姿态调整与轨迹跟踪。研究对比了不同推力分配方案在执行高机动性翻转动作时的稳定性、能耗效率与响应速度,旨在提升无人机在复杂飞行任务中的动态性能与控制精度。该仿真研究为无人机飞控系统的设计与优化提供了理论依据和技术支持。; 适合人群:具备一定自动控制理论基础和Matlab编程能力,从事无人机控制、飞行器动力学或机器人系统研究的科研人员及研究生。; 使用场景及目标:① 实现四旋翼无人机在三维空间中的精确点对点运动控制;② 对比分析不同推力分配策略在执行翻转等高难度动作时的控制效果与能耗表现,优化飞行性能;③ 为无人机自主飞行、特技飞行及复杂环境下的机动控制提供算法验证平台。; 阅读建议:此资源以Matlab仿真为核心,建议读者结合相关控制理论知识,深入理解代码实现细节,重点关注动力学建模、控制律设计与推力分配模块。在学习过程中,应动手调试参数,复现文中翻转动作的仿真结果,并尝试拓展至其他复杂飞行任务,以加深对无人机控制机理的理解。

81,111

社区成员

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

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