我是初学者,我做了一个项目,是一个数据库有关的验证的网叶!但是做完了 一切都正常,就是向数据库里添加不了数据;数据库正确连上!
有什么情况JDBC 不能更新SQL语句,我认为我的代码没有错!
还有就是如果 JAVABEAN(里面是封装 JDBC连接,操作的BEAN)里面没有CLOSE()方法!会不会是这个原因造成的呢!数据库不关闭能不能写进去数据通过JDBC热
regusrsage.jsp(部分代码如下,我认为可能有问题的地方)
boolean isAdd = user.add();
if(isAdd)
{
%>
<br><br><br><br>
<p align=center>
<font size=5><b>注册成功!</b>
</font>
</p>
<p align=center>
<input type=button name=btnlogin value=登录 onclick=javascript:window.location='userLogin.jsp' >
</p>
<%
}
else
{
%>
<p align=center>
<font size=5 blue=red>
<b>注册失败,请稍后再试!</b>
</font>
</p>
<p align=center>
<input type=button name=btnlogin value=返回 onclick=javascript:window.history.go(-1) > </p>
<%
}%>
//user是封装数据库操作的BEAN
//add()方法如下! add()是user.java中的一个方法!里面实现更新操作!代码如下:
--------------------------------------------------------------------------
public boolean add()
{
strSql="insert into users ";
strSql=strSql + "(";
strSql=strSql + "userName,";
strSql=strSql + "userPassword,";
strSql=strSql + "email,";
strSql=strSql + "sex,";
strSql=strSql + "identityID,";
strSql=strSql + "shopName,";
strSql=strSql + "shopIntro,";
strSql=strSql + "shopper,";
strSql=strSql + "realName,";
strSql=strSql + "mainFields,";
strSql=strSql + "telephone,";
strSql=strSql + "createDate,";
strSql=strSql + "sysRole,";
strSql=strSql + "tag";
strSql=strSql + ") ";
strSql=strSql + "values(";
strSql=strSql + "'" + userName + "',";
strSql=strSql + "'" + userPassword + "',";
strSql=strSql + "'" + email + "',";
strSql=strSql + "'" + sex + "',";
strSql=strSql + "'" + identityID + "',";
strSql=strSql + "'" + shopName + "',";
strSql=strSql + "'" + shopIntro + "',";
strSql=strSql + "'" + shopper + "',";
strSql=strSql + "'" + realName + "',";
strSql=strSql + "'" + mainFields + "',";
strSql=strSql + "'" + telephone + "',";
strSql=strSql + "'" + createDate + "',";
strSql=strSql + "'" + sysRole + "',";
strSql=strSql + "'" + tag + "'";
strSql=strSql + ")"; System.out.println(strSql);
boolean isAdd = super.exeSqlUpdate(strSql);
return isAdd;
}
---------------------------------------------------------------------
操作结果显示
有什么情况JDBC 不能更新SQL语句,我认为我的代码没有错!
还有就是如果 JAVABEAN(里面是封装 JDBC连接,操作的BEAN)里面没有CLOSE()方法!会不会是这个原因造成的呢!数据库不关闭能不能写进去数据通过JDBC热
regusrsage.jsp(部分代码如下,我认为可能有问题的地方)
boolean isAdd = user.add();
if(isAdd)
{
%>
<br><br><br><br>
<p align=center>
<font size=5><b>注册成功!</b>
</font>
</p>
<p align=center>
<input type=button name=btnlogin value=登录 onclick=javascript:window.location='userLogin.jsp' >
</p>
<%
}
else
{
%>
<p align=center>
<font size=5 blue=red>
<b>注册失败,请稍后再试!</b>
</font>
</p>
<p align=center>
<input type=button name=btnlogin value=返回 onclick=javascript:window.history.go(-1) > </p>
<%
}%>
//user是封装数据库操作的BEAN
//add()方法如下! add()是user.java中的一个方法!里面实现更新操作!代码如下:
--------------------------------------------------------------------------
public boolean add()
{
strSql="insert into users ";
strSql=strSql + "(";
strSql=strSql + "userName,";
strSql=strSql + "userPassword,";
strSql=strSql + "email,";
strSql=strSql + "sex,";
strSql=strSql + "identityID,";
strSql=strSql + "shopName,";
strSql=strSql + "shopIntro,";
strSql=strSql + "shopper,";
strSql=strSql + "realName,";
strSql=strSql + "mainFields,";
strSql=strSql + "telephone,";
strSql=strSql + "createDate,";
strSql=strSql + "sysRole,";
strSql=strSql + "tag";
strSql=strSql + ") ";
strSql=strSql + "values(";
strSql=strSql + "'" + userName + "',";
strSql=strSql + "'" + userPassword + "',";
strSql=strSql + "'" + email + "',";
strSql=strSql + "'" + sex + "',";
strSql=strSql + "'" + identityID + "',";
strSql=strSql + "'" + shopName + "',";
strSql=strSql + "'" + shopIntro + "',";
strSql=strSql + "'" + shopper + "',";
strSql=strSql + "'" + realName + "',";
strSql=strSql + "'" + mainFields + "',";
strSql=strSql + "'" + telephone + "',";
strSql=strSql + "'" + createDate + "',";
strSql=strSql + "'" + sysRole + "',";
strSql=strSql + "'" + tag + "'";
strSql=strSql + ")"; System.out.println(strSql);
boolean isAdd = super.exeSqlUpdate(strSql);
return isAdd;
}
---------------------------------------------------------------------
操作结果显示
注册失败,请稍后再试
你再看看你的System.out.println(strSql); 打印出来的有错吗?
贴上来看看?
exeSqlUpdate(strSql) 返回一个BOOLEAN 类型的!public boolean exeSqlUpdate(String strSql)
{
try
{
stmt=dbConn.createStatement();
stmt.executeUpdate(strSql);
this.errNum=0;
return true;
}
catch(Exception ex)
{
this.errNum=-1;
this.errDesc=ex.toString();
return false;
}
finally
{
}
}
stmt.executeUpdate(strSql);
改成
stmt = conn.prepareStatement(sql);
rs = stmt.executeQuery(sql);
试一试
stmt=conn.prepareStatement(sql);
rs=stmt.execute(sql);
...
这个
先登录把生成的sql复制过去执行一下看看。
jsp上好像没错
把super去掉