现在从SYBASE数据库中倒数据到ORACLE中,采用DELPHI做了一个小程序。现在的问题是SYBASE有些varchar类型的字段中含有 ' ,所以为了能够插入到ORACLE中,
我把 '替换成了'',但是有些字段里最后一个字符为#$B8(调试时从Watch中看到的是这个怪东西,我通过ShowMessage发现是[,但是从SYBASE客户端看是?),一旦我把'替换成'',那些最后一个字符为#$B8的就变成了?,而且把右边的'搞没有了,大家都知道
insert tbl1(....) value('abcdfdf?,'ad''fasf','adfa')这样的SQL语句,肯定是不能添加到ORACLE中去的,因为少了一个右边的 Quote。为了解决这个问题,我又把'替换成#39,?的问题倒是解决了,那些字段中含有'的又出问题了,SQL大致变成了这样,字符中含有一个'导致语法解析又出问题
insert tbl1(....) value('abcdfdf?','ad'fasf','adfa')哪位大侠能够帮忙解决这个问题啊?谢谢先了

解决方案 »

  1.   

    insert tbl1(....) value('abcdfdf?,'ad''fasf','adfa')改为:
    insert tbl1(....) value(:Param1,:Param2,……,:Paramn)
    然后给这些参数这样赋值:
    Query.ParamByName('Param1').AsString := QuotedStr(str1);
    ……
    Query.ParamByName('Paramn').AsString := QuotedStr(strn);————————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    ————————————————————————————————————