int rs=stmt.executeUpdate("insert into information (学号,姓名) values("+Integer.parseInt(s1)+s2")"      );
s1 s2 s3 s4 s5 s6都是从TextField文本框里面用getText()返回来的字符串,有的字符串,比如姓名的字符串在sql语句里是要加单引号的,但是像上面写s2是不能加单引号的,加上就显示错误,而且它本身是加着双引号的,怎么办呢?该怎么写呢?运行的时候显示sql语句出错我用的是sql server的jdbc驱动

解决方案 »

  1.   


    String sql ="insert into information (学号,姓名) values("+Integer.parseInt(s1)+",'"+s2+"')";
      

  2.   

    String sql ="insert into information (学号,姓名) values("+Integer.parseInt(s1)+",'"+s2+"')";
      

  3.   

    用preparedStatement很简单吧
    preparedStatement pstmt = conn.preparedStatement(insert into 表名 values(?,?,?));
    pstmt.setInt(第几个值,值);
    pstmt.setString(第几个值,值);
      

  4.   

    preparedStatement pstmt = conn.preparedStatement(insert into information (学号,姓名),values(?,?));
    pstmt.setInt(1,s1);
    pstmt.setString(2,"s2");
    这样应该可以吧,你可以试试
      

  5.   

    单双引叫可以嵌套着用啊,或者加\用来转义啊,就可以用双引号了
    "insert into information (学号,姓名) values("+Integer.parseInt(s1)+"'s2')"
    或者用预编译的PreparedStatement,这样还能防止sql注入的问题     
      

  6.   

    SQL语句与双引号之间要有空格隔开