【1】 string a='aa';
      string b='bb';
      string c;
      c=a+b ; //这里出错,应该怎么写?【2】数据库检查已存在用户,如果存在提示,不存在则写入,代码如下:try{ 
  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 

catch(ClassNotFoundException e){ 
  out.print(e); 

try{ 
  String strDirPath=application.getRealPath(request.getRequestURI()); 
  strDirPath=strDirPath.substring(0,strDirPath.lastIndexOf('\\'))+"\\"; 
  String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ="+strDirPath+"data/ds.mdb"; 
  Connection conn = DriverManager.getConnection(url); 
  Statement stmt = conn.createStatement(); 
  ResultSet rs = stmt.executeQuery("select * from users where 姓名='"+ na +"'");
  if(rs.next())
  out.print("<script>alert('您注册的用户名已经存在!');history.go(-1);</script>");
  else
  {  
  ResultSet rs = stmt.executeQuery("insert into users (姓名,性别) value('a','b')");//加入这条语句出错,不加正常!!
  }
  rs.close(); 
  stmt.close(); 
  conn.close(); 让我头痛呀兄弟们帮我呀。。谢谢。。

解决方案 »

  1.   

    ResultSet rs = stmt.executeQuery("insert into users (姓名,性别) value('a','b')");//加入这条语句出
    第一个错误是由于定义字符串对象时应用双引号,
    String a="aa";
    String b="bb";
    String c=a+b;
    有两种可能,一种是应该是rs已经定义,所以出错,另一种是插入操作要用stmt.executeupdate("insert into users (姓名,性别) value('a','b')");
      

  2.   

    首先第一个问题:错误不在于字符串赋值用”“号问题上。主要是 c=a+b 过不去;
    第二个问题:我将RS改为rs1还是不行。。
      

  3.   

    如果c 是局部变量的话,要初始化的..
    第二问题应是把exceuteQuery()  改成executeUpdate()
      

  4.   

    c我已经初始化了,就是不知道字符串累加是不是这么写 a=a+b ???
    第二个问题:改为executeUpdate还是不行。。总是报 405错误
      

  5.   

    1.字符串相加用“+”;
    2.首先executeUpdate 返回的是I=DDD==\\
      

  6.   

    1。字符窜相加是“+”;
    2。executeUpdate返回的是INT。
      

  7.   

    executeUpdate()返回的是int,你赋给resultset肯定要出错啦
      

  8.   

    我靠,应该是 values 的!!!!!
      

  9.   

    首先我的插入代码中是 values 只是我这里打错了。 还有执行插入时,就出现405错误,数据库中没有插入信息
      

  10.   

    第二个问题搞定了。。是我的SQL语句的问题。。
    那么第一个问题如何解决a和b是string型
    a=a+b;
      

  11.   

    c=ab   or
    a = "aa" 
    b = "bb"
    c = a+b
      

  12.   

    我现在是这样的状况。上一页有6个复选框。提交后,下面的页面用循环判断哪个复选框被选中,然后将选中的VALUE值传到一个string变量中。所以我就是用
    a=a+b  a就是累加的变量,B是每次判断前面的复选框的值。现在就是 a=a+b报错,不知道为什么???   字符累加是不是 a=a+b这么写???
      

  13.   

    1)应该是双引号
    2)ResultSet rs = stmt.executeQuery("insert into users (姓名,性别) values('a','b')");
    不是value,应该是values
      

  14.   

    单引号表示char类型的 服了。
      

  15.   

    参数没传过来
    你用<%=a%> <%=b%> A b是传过来的参数看看有没有数据
      

  16.   

    insert into users (姓名,性别) values('a','b')
      

  17.   

    问题2 这句话不正确:ResultSet rs = stmt.executeQuery("insert into users (姓名,性别) value('a','b')");
    插入语句怎么可能返回结果集呢。
    要想提交改成:stmt.execute(("insert into users (姓名,性别) values('a','b')");
    问题1 单引号和双引号对java来说是不一样的。

     string a='aa';
          string b='bb';
          string c;
          c=a+b ;改成:String a="aa" ;
          String b="bb" ;
          String c ;
          c=a+b ;
    如果这样还有问题,那就是你的java有问题了。