sql处理半角引号

最近写一个了交易系统

  开始一帆风顺的
  但是在运行的时候却遇到了一个很严重的问题
  当我要插入e'er时,数据库就报sql语句错误.
  找了很久都没找到原因

  最后发现
  sql中包含了一个单引号,因此当sql生成后,它的值是"INSERT bak (bak) VALUES ('e'er')"! 注意那里面的单引号! SQL将如何去理解这些单引号呢? bak名称的字符串到哪里为止呢? 所以SQL被搞糊涂了,所以你的代码无法正常工作!
  但是SQL不怎么聪明, 如果SQL看到了两个紧挨在一起的单引号,它将假设你希望在此输入一个单引号. 两个单引号并不会让SQL找不到SQL语句的终结. 因此,我们用"e''er"形式输入bck就可以了.
  但是总不能每次都输入两个''把
  因此我们在代码里面写入这样一句话
  String sql=null;
  sql=sql.replace("'","''");
  这样就能解决这个问题
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章