菜鸟举手提问:为什么我向数据库中写不进去东西!

yunrong 2002-05-18 03:47:05
我的注册网页能运行为什么再查数据库中没有提交信息?哪为大侠拉我一把,定当终身为谢!
注册表单代码如下<%@ page language="java" import="java.sql.*"%>
<%@ page contentType="text/html;charset=gb2312"%>
<html>
<head>
<title>user register</title>
</head>
<body>
<%
String userid=request.getParameter("userid");
String username=request.getParameter("username");
String password=request.getParameter("password");
String confirm_password=request.getParameter("confirm_password");
String question=request.getParameter("question");
String answer=request.getParameter("answer");
String name=request.getParameter("name");
String sex=request.getParameter("sex");
String literacy=request.getParameter("literacy");
String mail=request.getParameter("mail");
String aihao=request.getParameter("aihao");
%>
<%
if((userid.length()==0)||( username.length()==0)||(password.length()==0)||(confirm_password.length()==0))
out.println("用户帐号,登录名,密码,及密码校验不能为空!");
else if ((question.length()==0)||(answer.length()==0))
out.println("密码遗失提示问题及答案不能为空!");
else if (!password.equals(confirm_password))
out.println("密码与确认密码不一致!");
else if( mail.length()==0)
out.println("E-MAIL不能为空!");
else if(mail.indexOf('@')<=0)
out.println("EMAIL 地址有错误!");
else{
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url="jdbc:odbc:nn";
Connection con =DriverManager.getConnection(url);
PreparedStatement insert_stm=con.prepareStatement("insert into nn valuse(?,?,?,?,?,?,?,?,?,?,?)");
insert_stm.setString(1,userid);
insert_stm.setString(2,username);
insert_stm.setString(3,password);
insert_stm.setString(4,confirm_password);
insert_stm.setString(5,question);
insert_stm.setString(6,answer);
insert_stm.setString(7,name);
insert_stm.setString(8,sex);
insert_stm.setString(9,literacy);
insert_stm.setString(10,mail);
insert_stm.setString(11,aihao);
try{
insert_stm.executeQuery();
}catch(Exception e){}
con.close();
%>
<table border=1 cellspacing="0" cellpadding="0"
bordercolordark="#88a6dd" bordercolorlight="#88a6dd"
align="center">
<tr>
<td bgcolor="#88a6dd">现<br>在<br>登<br>录</td>
<td>
<table border=0 cellspacing="0" cellpadding="0">
<tr>
<td bgcolor="#88a6dd" align="center">你已成功注册</td>
</tr>
<tr>
<td align="center">
<form action="particular_action.jsp">
用户<input type="texe" name="userid" size=10><br>
密码<input type="password" name="password" size=10> <br>
<INPUT border =0 height=23 name="login" src="login.bmp"
type=image width=52>
</form ></td> </tr> </table>
</td></tr></table>
<%
}catch (Exception e){out.println(e);}
}
%>
</body>
</html>
**************************************************************************jsp与sql server2000的连接文件如下package opendb; //定义包opendb
import java.sql.*; //引入java.sql.*

//包中的类opendb
public class opendb {
String sDBDriver="sun.jdbc.odbc.JdbcOdbcDriver"; //数据库连接字符串:jdbc-odbc桥
String sConnStr="jdbc:odbc:nn";
Connection conn=null;
ResultSet rs=null;

//定义打开数据库连接的函数
public opendb() {
try
{
Class.forName(sDBDriver);
}
catch (java.lang.ClassNotFoundException e)
{
System.err.println("opendb():"+e.getMessage());
}
}

//定义执行sql语句的函数
public ResultSet executeQuery(String sql) {
rs=null;
try
{
conn=DriverManager.getConnection(sConnStr);
Statement stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
}
catch (SQLException ex)
{
System.err.println("aq.executeQuery:"+ex.getMessage());
}
return rs;//返回sql语句的执行结果
}
}


...全文
134 13 打赏 收藏 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
CHARGING 2002-05-20
  • 打赏
  • 举报
回复
估計是數据類型不匹配問題,好好檢查看看...
Andrawu 2002-05-20
  • 打赏
  • 举报
回复
没有错误信息吗?
进行步步跟踪。
rosmada 2002-05-19
  • 打赏
  • 举报
回复
是sql server的 数据库吗?如果是就看看数据类型,很敏感
hutaraki 2002-05-18
  • 打赏
  • 举报
回复
userid字段是不是numeric的,并且设置被标识??如果是那你插入一条记录它自动加1,不能人工插入。
yunrong 2002-05-18
  • 打赏
  • 举报
回复
还是不灵!
望详细赐教!
weidegong 2002-05-18
  • 打赏
  • 举报
回复
rs=stmt.executeQuery();
这个不会有错,但是不太适合,因为执行“insert into”不会返回任何记录集了
最好去掉rs=,换成stmt.executeUpdate()
Andrawu 2002-05-18
  • 打赏
  • 举报
回复
楼上的写代码,真可怕。
yunrong 2002-05-18
  • 打赏
  • 举报
回复
真聪明!云想衣裳花想容,春风拂槛露华浓。
saintKnight 2002-05-18
  • 打赏
  • 举报
回复
除了values的错误外,关键错误是
insert_stm.executeQuery();
应改为insert_stm.executeUpdate();

yunrong 2002-05-18
  • 打赏
  • 举报
回复
insert_stm.setString(1,userid);
insert_stm.setString(2,username);
insert_stm.setString(3,password);
insert_stm.setString(4,confirm_password);
insert_stm.setString(5,question);
insert_stm.setString(6,answer);
insert_stm.setString(7,name);
insert_stm.setString(8,sex);
insert_stm.setString(9,literacy);
insert_stm.setString(10,mail);
insert_stm.setString(11,aihao);
try{
insert_stm.executeQuery();
}catch(Exception e){}
con.close();
这些不是吗?
没有提示错误,运行时
直接到登录界面,表示注册成功
但数据库中没有值!
saintKnight 2002-05-18
  • 打赏
  • 举报
回复
insert_stm.executeQuery();
应改为insert_stm.executeUpdate();吧
weidegong 2002-05-18
  • 打赏
  • 举报
回复
云容?云想衣裳花相容
weidegong 2002-05-18
  • 打赏
  • 举报
回复
PreparedStatement insert_stm=con.prepareStatement("insert into nn valuse(?,?,?,?,?,?,?,?,?,?,?)");

注意:insert into nn values//not valuse

看看还有没有其他错误了;有没有错误提示信息?
内容概要:本文围绕基于物理场的动态模式分解(piDMD)展开研究,重点探讨其在流体力学、热传导及多物理耦合系统中的建模与应用。通过Matlab代码实现,将传统的动态模式分解(DMD)方法与物理场控制方程相结合,引入物理约束以增强数据驱动模型的物理一致性,从而提升对复杂非线性系统的模态提取精度与长期预测能力。文章系统阐述了piDMD的理论基础、数学推导过程与算法实现步骤,并结合典型物理场仿真案例(如Navier-Stokes方程驱动的流场演化)进行验证,展示了其在降阶建模、主导模态识别和时空动态可视化方面的优越性能,适用于高维、强耦合、非平稳系统的分析与优化。; 适合人群:具备一定数值计算、流体力学、控制理论或数据驱动建模背景,熟悉Matlab编程与线性代数运算,从事科学研究、工程仿真或系统辨识工作的研究生、科研人员及工程师。; 使用场景及目标:①实现对流场、温度场等物理场的高效降阶建模与动态行为预测;②提取符合物理规律的关键模态,用于系统稳定性分析与控制设计;③支撑复杂系统的状态估计、异常检测与优化调控等下游任务。; 阅读建议:建议读者结合提供的Matlab代码逐行调试与运行,深入理解piDMD算法中物理约束的嵌入方式及其对模态质量的影响,同时可尝试将其迁移至其他偏微分方程描述的物理系统中进行拓展验证与应用。
内容概要:本文研究了在峰谷分时电价引导下,基于多目标优化遗传算法NSGA-II的电动汽车充电负荷优化问题。通过构建以电网负荷波动最小化和用户充电成本最低为核心的多目标优化模型,利用NSGA-II算法求解获得帕累托最优解集,实现对大规模电动汽车充电行为的有序引导。文中系统阐述了峰谷电价激励机制的设计原理、电动汽车充电负荷的数学建模方法、多目标优化问题的形式化表达以及NSGA-II算法的具体实现流程,并借助Matlab平台进行仿真验证,结果表明该策略能有效平抑电网负荷峰谷差、降低用户充电支出并提升电力系统的运行效率与稳定性。; 适合人群:具备一定电力系统基础知识和Matlab编程能力,从事智能电网、电动汽车调度、需求侧管理等相关领域的研究生或科研人员。; 使用场景及目标:①研究峰谷电价政策对电动汽车充电行为的影响机制;②掌握NSGA-II算法在电力系统多目标优化中的具体应用;③实现电动汽车集群的有序充电调度以改善电网负荷曲线; 阅读建议:此资源结合了电力经济学与智能优化算法,建议读者在学习过程中重点关注模型构建与算法实现的衔接部分,动手复现仿真代码以深入理解参数设置与结果分析过程。

81,108

社区成员

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

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