代码如下:目的是注册。想要两次输入的密码一致后,到数据库中的TBL_STU表中查找是否重名,如果不重名,插入表中。
if(pwd.equals(repwd))
{
ResultSet rs1=sql.executeQuery("select * from TBL_STU where xh='"+xh+"'");
//out.print(sql1);
if(rs1.next())
{
rs1.close();
out.print("<script>alert('该用户名已经被注册,请选择其它的用户名!');</script>");
}
else{
try
{
sql.executeUpdate("insert into TBL_STU(xh,xm,bh,pwd,sex,nl,zy,sfzh,txdz,yb,dh,email) values('"+xh+"','"+xm+"','"+bh+"','"+pwd+"','"+sex+"','"+nl+"','"+zy+"','"+sfzh+"','"+txdz+"','"+yb+"','"+dh+"','"+email+"')");
}
catch(SQLException e1)
{
out.print(e1.getMessage());
}
}}
if(pwd.equals(repwd))
{
ResultSet rs1=sql.executeQuery("select * from TBL_STU where xh='"+xh+"'");
//out.print(sql1);
if(rs1.next())
{
rs1.close();
out.print("<script>alert('该用户名已经被注册,请选择其它的用户名!');</script>");
}
else{
try
{
sql.executeUpdate("insert into TBL_STU(xh,xm,bh,pwd,sex,nl,zy,sfzh,txdz,yb,dh,email) values('"+xh+"','"+xm+"','"+bh+"','"+pwd+"','"+sex+"','"+nl+"','"+zy+"','"+sfzh+"','"+txdz+"','"+yb+"','"+dh+"','"+email+"')");
}
catch(SQLException e1)
{
out.print(e1.getMessage());
}
}}
("select * from TBL_STU where xh="+xh)
if(pwd.equals(repwd))
{
ResultSet rs1=sql.executeQuery("select * from TBL_STU where xh='"+xh+"'");
//out.print(sql1);
if(rs1.next())
{
rs1.close();
out.print("<script>alert('该用户名已经被注册,请选择其它的用户名!');</script>");
}
else{
try
{
sql.executeUpdate("insert into TBL_STU(xh,xm,bh,pwd,sex,nl,zy,sfzh,txdz,yb,dh,email) values('"+xh+"','"+xm+"','"+bh+"','"+pwd+"','"+sex+"','"+nl+"','"+zy+"','"+sfzh+"','"+txdz+"','"+yb+"','"+dh+"','"+email+"')");
}
catch(SQLException e1)
{
out.print(e1.getMessage());
}
}
}else
{out.print("<script>alert('请确认两次输入的密码相同!');</script>");}不报任何错误,所要完成的功能却不能实现,也根本插不到数据库中。
你看哪里有错.""是引'的.你去掉变成什么了.int类型?????
楼主用什么数据库呢?
先试一下得到 的xh值,然后把它拿数据库里试试吧
把sql打印出来看看
你在骂谁啊?我都听不懂你说什么。AWUSOFT(程序设计,一个字:爽!) 同志:
我用的是sql server 2000。如果这段代码无法修改,大家有没有别的可以用的,贴出来让我学习一下,或者发给我,好吧?
只要是注册页面用的就可以,很多管理系统都有这个,但是搜索的话都是整套系统。
先谢谢了!!!
首先你测试一下得到的那个xh值啊,然后把select * from TBL_STU where xh='"+xh+"'
拿查询分析器去试试看啊,看看会不会有结果
你用其他方式单调用这句话.看看能不能插.有可能字段验证不通过
}
catch(SQLException e1)
{
out.print(e1.getMessage());
}
}这里应该会打印东西吧?
楼主用e.printStack...()试试吧
{
ResultSet rs1=sql.executeQuery("select * from TBL_STU where xh='"+xh+"'");
//out.print(sql1);
System.out.println("select * from TBL_STU where xh='"+xh+"'");/////////加这一句进去看看
if(rs1.next())
{
rs1.close();
out.print("<script>alert('该用户名已经被注册,请选择其它的用户名!');</script>");
}
else{
try
{
System.out.println("insert into TBL_STU(xh,xm,bh,pwd,sex,nl,zy,sfzh,txdz,yb,dh,email) values('"+xh+"','"+xm+"','"+bh+"','"+pwd+"','"+sex+"','"+nl+"','"+zy+"','"+sfzh+"','"+txdz+"','"+yb+"','"+dh+"','"+email+"')");/////////加这一句进去看看
sql.executeUpdate("insert into TBL_STU(xh,xm,bh,pwd,sex,nl,zy,sfzh,txdz,yb,dh,email) values('"+xh+"','"+xm+"','"+bh+"','"+pwd+"','"+sex+"','"+nl+"','"+zy+"','"+sfzh+"','"+txdz+"','"+yb+"','"+dh+"','"+email+"')");
}
catch(SQLException e1)
{
out.print(e1.getMessage());
}
}}
看看有什么结果吧,先看这些语句的值是不是对的
System.out.println("select * from TBL_STU where xh='"+xh+"'");/////////加这一句进去看看
System.out.println("insert into TBL_STU(xh,xm,bh,pwd,sex,nl,zy,sfzh,txdz,yb,dh,email) values('"+xh+"','"+xm+"','"+bh+"','"+pwd+"','"+sex+"','"+nl+"','"+zy+"','"+sfzh+"','"+txdz+"','"+yb+"','"+dh+"','"+email+"')");/////////加这一句进去看看
如果后台没有打印东西证明都没有进到里边去
你也可以改成out.println()就不要用System.out.println()了
是不是这一句都没有能过呢?
那你就测试 一下pwd和repwd的值 啊, 看看它们是不是相同 的
第一个页面是填写各项(包括会员名xh,密码pwd,确认密码repwd,等等一些),并检查会员名,密码,确认密码是否为空。
第二个页面是现在待解决的页面,需要检查两次密码是否相同,会员名是否被注册过,通过检查后插入到数据库中。我是在Dreamweaver写代码和页面设计,然后放到Tomcat的相应文件夹里,我不太明白你说的测试是要怎么样做?我比较笨,还希望大家多多帮助我。
--------
这个前台用JS就可以完成了。你设断点跟踪下看看,是到哪里的问题,还有在各个步骤执行的过程中,把SQL语句打印出来看一下,你也不说报的是什么错误,那些SQL语句在查询分析器里面插入看看能执行不,就按AWUSOFT(程序设计,一个字:爽!) 说的那个方法,System.out.println一下,看看控制台输出的是什么。
我这里都没有可以跟踪的环境,我是直接放在Tomcat相应的文件下执行的,不是我不说报的错误,是它根本不报错,就按照一个页面接一个页面走,什么都不做。唉,笨死了,我
插不进去很可能是 SQL语句的问题 只有在调试过程中才能看清 真正传给数据库的的插入语句是什么