有关row = ps1.executeUpdate();不执行也不报错的问题
我想做个注册系统,之前运行的都好好的,但把数据库清空过一次后就出问题了。代码如下
try
{
Connection conn = null;
ResultSet rs = null;
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/jimoran";
String name = "root";
String pass = "85452565";
conn = DriverManager.getConnection(url,name,pass);//此句为被执行!
%><%="OK1"%><% //此举被运行
if(conn == null)
{
%><a href = "RegistSystem.html">数据库无法连接!</a><%
%><%="OK3"%><% //正确
}
else if(Password.equals(Againpass) == false)
{
%><a href = "RegistSystem.html">两次密码不一致!</a><%
%><%="OK5"%><% //正确
}
else if(IDnumber.length()<15||IDnumber.length()>19)
{
%><a href = "RegistSystem.html">请输入正确的身份证号码!</a><%
%><%="OK4"%><% //正确
}
else
{
%><%="OK2"%><% //yunxin
String sql = "select username from RegistTable where username = '"+Username+"'";
%><%="OK6"%><% //运行
PreparedStatement ps = conn.prepareStatement(sql);
%><%="OK7"%><% //运行到这里
rs = ps.executeQuery();//运行
%><%="OK8"%><%
if(rs.next())
{
%><a href = "RegistSystem.html">用户名已经存在!</a><%
}
else
{
%><%="OK9"%><%
String sql1 = "insert into RegistTable values(?,?,?,?,?,?,?,?,?)";
%><%="OK10 "%><%
PreparedStatement ps1 = conn.prepareStatement(sql1);
%><%="OK11 "%><%
ps1.setString(1,Username);
ps1.setString(2,Password);
ps1.setString(3,realname);
ps1.setString(4,IDnumber);
ps1.setString(5,age);
ps1.setString(6,gender);
ps1.setString(7,telephone);
ps1.setString(8,actor);
ps1.setString(9,major);
%><%="OK12 "%><%
int row = -1;
row = ps1.executeUpdate();//不运行,也不报错
%><%="OK13 "%><%
if(row > 0)
{
%><%="OK14 "%><%
%><a href = "RegistSystem.html">注册成功!</a><%
}
}
ps.close();
}
rs.close();
}
catch(Exception e)
{
%><%="OK15 "%><%
%><a href = "RegistSystem.html">注册失败!</a><%
e.printStackTrace();
}
我用"%><%=OKXX %>"找哪句话没执行的,结果显示“OK1OK2OK6OK7OK8OK9OK10 OK11 OK12 OK15 注册失败!”