out.println(sql);
看看有什么问题 
然后可以采用gks_cn(981530) 的方法

解决方案 »

  1.   

    sql="insert into T_user(FD_userName,FD_userPassword,FD_userSex,FD_userEmail,FD_userAddress,FD_userMobile,";
    sql=sql+"FD_userOicq,FD_userBirthday,FD_userIcon,FD_userSign,FD_userWordNum,FD_userVisitNum,FD_userLevel,";
    sql=sql+"FD_userRegisterDate,FD_userOnline,FD_userStatus)";
    sql=sql+" values('"+User_Name+"','"+User_Password+"','"+User_Sex+"','"+User_Email+"','"+User_Address+"','"+User_Mobile+"',";
    sql=sql+"'"+User_Oicq+"','"+User_Birthday+"','"+User_Icon+"','"+User_Sign+"',0,1,'新手上路','"+adduser.getTime()+"','在线','1')";
      

  2.   

    有'的地方替换为 "
      

  3.   

    搂主的意思是说输入的内容中含有"'",怎么处理吧,因为属于oracle的关键字,我也很想知道。我以前做的就是将整个字符串在提交之前,先分析一下,如果有就转义,不知道有没有更好的方法?
      

  4.   

    我是用JS通过正则表达式转的类似于
    re=/(html)/g;
    r=r.replace(re,"<b>h</b>tml");但是,"'"本来就是特殊符号啊。怎么转法?还有
    最近我的注册语句报 org.apache.jasper.JasperException: [Microsoft][ODBC Microsoft Access  驱动程序] INSERT INTO 语句的语法错误。
    语句是
    sql="insert into user_info(pwd,admin,time,count,name) values('"+pwd+"',0,'"+regtime+"',0,'"+user+"')";我想应该是没错的,我不知道问题在哪里。
      

  5.   

    把'替换成''就行了
    sql里用''表示'
      

  6.   

    查查你的数据库看看怎么显示'
    比如在比如在sql server
     'da''das'   
    表示da'das所以这时把回复字串中的'转为''就可以了PreparedStatement代替 好象就不用转换了 试试看
      

  7.   

    INSERT INTO 语句的语法错误。
    语句是
    在你sql运行前 把sql在前台打印出来 然后copy到你access中运行看看 看哪里出错了
      

  8.   

    前台打印出来是
    insert into user_info(pwd,admin,time,count,name) values('111111',0,'2003-06-04 15:14',0,'neo')  这个有错误吗?pwd 是文本类型,admin 整形,time 文本,count 数字 name 文本。"'"怎么替换"''"?
    re=/(')/g;
    r=r.replace(re,"''"); 这样好象不行。
      

  9.   

    不要用那种构造字符串的方法,不同的数据库对'的替换字符不一样~
    还是用PreparedStatment吧,不用转那个烦人的’~
    java.sql.PreparedStatement preStmt = conn.prepareStatement("INSERT INTO [file] ([name],data) VALUES(?,?)");
    preStmt.setString(1,"fileName");
    preStmt.setString(2,"this is a test");
    preStmt.execute();
      

  10.   

    在javaBean 编写一个函数
    功能:用于字串的替换,同VB里的Replace(a,b,c)
    @param s 源字串
    @param s1 要替的字串
    @param s2 替换成的字串
    */
    public String replace(String s, String s1, String s2)
        {
    if(s==null){s="";}
            String s3 = "";
            int i = s1.length();
            int j;
            while((j = s.indexOf(s1)) != -1) 
            {
                s3 = s3 + s.substring(0, j);
                s3 = s3 + s2;
                s = s.substring(j + i);
            }
            s3 = s3 + s;
            return s3;
        }//end function replace(); /*
    功能:除去指定字串的特殊字符,如"'",";","-"
    */
    public String sqlstr(String s)
    {
    s=replace(s,"'","");
    s=replace(s,";",";");
    return s;
    }
      

  11.   

    insert into user_info(pwd,admin,time,count,name) values('111111',0,'2003-06-04 15:14',0,'neo')
    在access中执行出什么错?不同的数据库对'的替换字符不一样转换可以参照楼上的
      

  12.   

    大家都使错劲了。
    insert into user_info(pwd,admin,time,count,name) values('111111',0,'2003-06-04 15:14',0,'neo')
    这句SQL里面没有'的问题。好像也没有语法错误。
      

  13.   

    上面那句报错的语句,我改成 
    sql="insert into user_info values('"+pwd+"',0,'"+regtime+"',0,'"+user+"')";就可以用了,难道上面那句有问题?我看不出来......5555
      

  14.   

    UP无极限
    不兼容又到此混分 ;)
        ("`-''-/").___..--''"`-._ 
         `6_ 6  )   `-.  (     ).`-.__.`) 
         (_Y_.)'  ._   )  `._ `. ``-..-' 
       _..`--'_..-_/  /--'_.' ,' 
      (il),-''  (li),'  ((!.-' 
     
      不兼容 的形象大使,欢迎盗版!