是不是向数据库插入数据时的烦恼?用PreparedStatement就可以了

解决方案 »

  1.   

    replace()暂时代替不可以吗?
      

  2.   

    是不是向数据库插入数据时的烦恼?用PreparedStatement就可以了
      

  3.   

    同意楼上的,不同的数据库,有不同的替换方法,否则你油的写了,不信你监控一下mysql,SQL Server或者其他的数据库是有所不同的.所以使用PreparedStatement是一个比较好的选择.
      

  4.   

    不行,换成PreparedStatement的代价太高了,麻烦给出个For Oracle 8i的转换函数就可以了
    //bow
      

  5.   

    /*
     *修改在SQL语句中可能发现关于以下特殊标点和字符可能会错误' " \
     */
    public static String encondSqlChars(String s)
    {
    StringBuffer buf=new StringBuffer(s);
    int i=0;
    while (i<buf.length())
    {
    if((buf.charAt(i)=='\'')||(buf.charAt(i)=='\"')||(buf.charAt(i)=='\\'))
    {
    buf.insert(i,'\\');
    i++;
    }
    i++;
    }
    return buf.toString();
    }
      

  6.   

    就是懒得自己写了才来问的,
    好换成另外一个问题oracle里的转义符是什么?
      

  7.   

    CSDN应该不欢迎楼主这样的人。老想抄袭,无可救药......
      

  8.   

    "换成PreparedStatement的代价太高了"什么"代价太高了"???  改代码?
      

  9.   

    问题解决了
    原来的代码没有考虑到'";之类的输入
    临时先在所有的'之前加上一个'来凑合着使用junyi2003(超级菜鸟),你的程序其实可以直接用String.replaceAll函数代替
    不过还是谢谢了先