JAVA学习提高之----解决插入数据库时遇到的引号问题

今天在论坛上看到了问题,自己也总结一下先:
帖子如下:http://topic.csdn.net/u/20081204/01/c45bda75-e429-4600-8924-7f2c7d67406e.html?seed=1788175006
高手们已经做了解答,基本有两个解决方法
一、是采用PreparedStatement,然后setString

  1. String sql = " update interface_customer set PK_CORP = ? ,DEF1 = ?"
  2. PreparedStatement pstmt = con.prepareStatement(sql);
  3. pstmt.setString(1, customers[i].getPk_corp()); 
  4. pstmt.setString(2, customers[i].getDef1() ); 
  5. pstmt.executeUpdate();


二、对有引号的值转換:

  1. public static String getSafeSQL(String inStr) {
  2.         String result = "";
  3.         try {
  4.             inStr = inStr.trim();
  5.             char c;
  6.             int strLen = inStr.length();
  7.             for (int i = 0; i < strLen; i++) {
  8.                 c = inStr.charAt(i);
  9.                 switch (c) {
  10.                 case '/'':
  11.                     result = result + "''";
  12.                     break;
  13.                 case '//':
  14.                     result = result + "////";
  15.                     break;
  16.                 default:
  17.                     result = result + String.valueOf(c);
  18.                     break;
  19.                 }
  20.             }
  21.         } catch (Exception e) {
  22.             return "";
  23.         }
  24.         return result;
  25.     }

越来越发现CSDN好处多多了,可以在不知不觉中学习,还有很多高手帮忙一起解决问题,这样一题多解,对我这种菜鸟可是不可多得的学习机会啊

你可能感兴趣的:(java,sql,c,数据库)