拐了一眼,把checkuser()中第三行改为String sSql2="select * from YY where XM='"+xm+"'";试试addNewuser()中sSql1=sSql1+"  values('"+xm+"','"+xb+"',"+nl+")";

解决方案 »

  1.   

    靠,没打完怎么就发了。下面一句values前加上空格
      

  2.   

    用字符串连接的方式构建SQL语句经常会手下误,SQL复杂时看着眼晕。还是用preparedStatement对象吧,它的SQL是这样的:"select * from aaa where name='?' and yearold>? "这样看起来清楚多了,然后对这些参数给值。
      

  3.   

    checkuser()中第三行改为String sSql2="select * from YY where XM='"+xm+"'";addNewuser()中sSql1=sSql1+"values('"+xm+"','"+xb+"',"'+nl+"')";
      

  4.   

    那个加空格的错误好了,可还是有:
    select * from YY where XM=''
    java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][SQL Server]第 1 行: ')' 附近有语法错误。
    ---------------------------------第一个bean---------------------------------------
    package yy;
    import java.net.*;
    import java.io.*;
    import java.sql.*;
    import java.lang.*;
    import java.util.*;
    public class db{
    public Connection conn=null;
    public Statement stmt=null;
    public ResultSet rs=null;
    //String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=yuran";
    String usename="sa";
    String password="sa";
    String DNS="jdbc:odbc:yuran";
    public String xm="";
    public String xb="";
    public String nl="";
    boolean ss;
    public db(){
      try{
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");  }catch(ClassNotFoundException e){
        e.printStackTrace();
        System.err.println("OpenDb()"+e.getMessage());
      }}
    public ResultSet Query(String sql){
      try{
      conn=DriverManager.getConnection(DNS,usename,password);
      stmt=conn.createStatement();
      rs=stmt.executeQuery(sql);
       }catch(SQLException e){
         e.printStackTrace();
       }finally{
         return rs;
       }
    }
    public boolean Insert(String sql){
      try{
      conn=DriverManager.getConnection(DNS,usename,password);
      stmt=conn.createStatement();
      ss=stmt.execute(sql);
      ss=true;
      }catch(SQLException e){
      e.printStackTrace();
      }finally{
      return ss;
      }}
    public static String toChinese(String strvalue){
      try{
      if(strvalue==null){return null;}else{strvalue=new String(strvalue.getBytes("ISO-8859-1"),"GBK");return strvalue;
      }}catch(Exception e){return null;}
    }
    }-----------------------------------------第一个jsp--------------------------------
    <%@ page contentType="text/html; charset=GBK" %>
    <html>
    <head>
    <title>
    新用户注册
    </title>
    </head>
    <body>
    <form method="post" name="formreg" action="donewuser.jsp">
    <table border=1 align=center>
    <tr><td colspan=2 align=center bgcolor="blue">新用户</td></tr>
    <tr><td><font color=red>新用户名</font></td><td><input type=text name=xm></td></tr>
    <tr><td align=center><font color=red>性别</font></td><td><input type=radio name=xb value="男" checked>男<input type=radio name=xb value="女">女</td></tr>
    <tr><td align=center><font color=red>年龄</font></td><td><input type=text name=nl></td></tr>
    <tr><td colspan=2 align=center><input type="submit" name="Submit" value="提交">
    <input type="reset" value="重添"></td></tr>
    </table>
    </form>
    </body>
    </html>
    ----------------------------------------------------------------------------------
    大哥门问题还没有解决,不要放弃我呀!
      

  5.   

    String sSql2="select * from YY where XM='xm'";
    把你sql语句[这样写应该没有问题
      

  6.   

    public String xm="";
    public String xb="";
    public String nl="";
    不要把这三个变量设为空直接声明为
    public String xm;
    public String xb;
    public String nl;