public boolean executeQuery(String sql)
{
rs=null;
boolean flag=false;
try
{
Class.forName(mysqlDriver);
mysqlCon= DriverManager.getConnection(this.mysqlURL,this.mysqlUser,this.mysqlPassword);
Statement stmt=mysqlCon.createStatement();
rs=stmt.executeQuery(sql);
if (rs.next())
{
flag=true;
}
rs.close();
stmt.close();
}
catch (Exception ex)
{
System.err.println("aq.executeQuery:"+ex.getMessage());
}finally {
mysqlCon.close(); // 关闭数据库
}
return flag;
}
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" %>
<jsp:useBean id="pic_dbcon" scope="page" class="picdb.pic_dbcon"/>
<%
String username=request.getParameter("username");
String password=request.getParameter("password");
String email=request.getParameter("email");
String sql="select * form user where username='"+username+"'";
boolean flag=pic_dbcon.executeQuery(sql);
if (flag)
{
session.setAttribute("register_message","名字已经重复,请重新输入!");
%>
<jsp:forward page="freemember.jsp" />
<%
}
else
{
%>
<html>
<head>
<title>免费用户注册二</title>
</head><body>
<p>你的用户注册信息如下:</p><form name="form" method="post" action="end_freemember.jsp">
<p>用户名: <input type="text" name="username" value="<%=username %>"></p>
<p>密 码:
<input type="text" name="password" value="<%=password %>">
</p>
<p> E_MAIL:
<input type="text" name="email" value="<%=email %>">
</p>
<p>
<input type="submit" name="Submit" value="Submit">
<input type="reset" name="Submit2" value="Reset">
</p>
</form>
</body>
</html>
<%
}
%>你试试吧
{
rs=null;
boolean flag=false;
try
{
Class.forName(mysqlDriver);
mysqlCon= DriverManager.getConnection(this.mysqlURL,this.mysqlUser,this.mysqlPassword);
Statement stmt=mysqlCon.createStatement();
rs=stmt.executeQuery(sql);
if (rs.next())
{
flag=true;
}
rs.close();
stmt.close();
}
catch (Exception ex)
{
System.err.println("aq.executeQuery:"+ex.getMessage());
}finally {
mysqlCon.close(); // 关闭数据库
}
return flag;
}
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" %>
<jsp:useBean id="pic_dbcon" scope="page" class="picdb.pic_dbcon"/>
<%
String username=request.getParameter("username");
String password=request.getParameter("password");
String email=request.getParameter("email");
String sql="select * form user where username='"+username+"'";
boolean flag=pic_dbcon.executeQuery(sql);
if (flag)
{
session.setAttribute("register_message","名字已经重复,请重新输入!");
%>
<jsp:forward page="freemember.jsp" />
<%
}
else
{
%>
<html>
<head>
<title>免费用户注册二</title>
</head><body>
<p>你的用户注册信息如下:</p><form name="form" method="post" action="end_freemember.jsp">
<p>用户名: <input type="text" name="username" value="<%=username %>"></p>
<p>密 码:
<input type="text" name="password" value="<%=password %>">
</p>
<p> E_MAIL:
<input type="text" name="email" value="<%=email %>">
</p>
<p>
<input type="submit" name="Submit" value="Submit">
<input type="reset" name="Submit2" value="Reset">
</p>
</form>
</body>
</html>
<%
}
%>你试试吧
应该是String sql="select * from user where username='"+username+"'";
<%
String username=request.getParameter("username");
String password=request.getParameter("password");
String email=request.getParameter("email");
String sql="select * form user where username='"+username+"'";
ResultSet rs=pic_dbcon.executeQuery(sql);
if (rs.next())
{rs.close();
session.setAttribute("register_message","名字已经重复,请重新输入!");
%>
写成下面的样子
<%
String username = "";
String password = "";
String email = "";
String sql = "";
username = request.getParameter("username");
password = request.getParameter("password");
email = request.getParameter("email");
if(username != null && !username.equals("") && password != null && !password.equals("") && email != null && !email.equals("")) {
sql="select * form user where username='"+username+"'";
ResultSet rs=pic_dbcon.executeQuery(sql);
if (rs.next())
{rs.close();
session.setAttribute("register_message","名字已经重复,请重新输入!");
}
%>
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*"%>
<!jsp:useBean id="pic_dbcon" scope="page" class="picdb.pic_dbcon"/>
<%
String username=request.getParameter("username");
String password=request.getParameter("password");
String email=request.getParameter("email");
String sql="insert into user(username,password,email,userid) values('"+username+"','"+password+"','"+email+"',(select count(*) from user))";
System.out.println(sql);
pic_dbcon.executeSql(sql);
session.setAttribute("username",username);
%>
<html>
<head>
<title>恭喜<%=username %>注册成功!</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head><body>
祝贺你!你已经成为我们的会员了!
</body>
</html>
出现错误!!
Note: sun.tools.javac.Main has been deprecated.
/pic/end_freemember.jsp:9: Undefined variable or class name: pic_dbcon
pic_dbcon.executeSql(sql);
^
1 error, 1 warning----------------------
我感觉不应该犯这个错误啊,帮我解决一下.谢谢
你的方法我也想过,如果用户没有输入的话我会用js进行判断,这样应该和你写的那段一样了吧?
String password=request.getParameter("password");
String email=request.getParameter("email");
可能会取不到值,假如取不到,将为null
你作个处理 ,假如为null,就把""伏给他们。
^
1 error, 1 warning这个错误,就是我说的:executeQuery()是java的api,你改一个方法名字。
public String NullToSp(String Col) {
if (Col == null)
return "";
else
return Col.trim();
}String username=pic_dbcon.NullToSprequest.getParameter("username"));
就可以避免username为null了。
还有,数据库连接在使用后必须关闭,你的就没有关闭,我帮你改了,你看看我上面给你帖的程序吧
try
{
Class.forName(mysqlDriver);
mysqlCon= DriverManager.getConnection(this.mysqlURL,this.mysqlUser,this.mysqlPassword);
Statement stmt=mysqlCon.createStatement();
stmt.executeUpdate(strSQL);
stmt.close();
mysqlCon.close();
}
catch (Exception ex)
{
System.err.println("aq.executeQuery:"+ex.getMessage());}
}
}