`

JAVA解决插入数据库时遇到的引号问题

阅读更多

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

  1. Stringsql= "updateinterface_customersetPK_CORP=?,DEF1=?" ;
  2. PreparedStatementpstmt=con.prepareStatement(sql);
  3. pstmt.setString(1,customers[i].getPk_corp());
  4. pstmt.setString(2,customers[i].getDef1());
  5. pstmt.executeUpdate();


二、对有引号的值转換:

  public static String getSafeSQL(String inStr) {

		String result = "";
		try {
			inStr = inStr.trim();
			char c;
			int strLen = inStr.length();
			for (int i = 0; i < strLen; i++) {

				c = inStr.charAt(i);

				switch (c) {
				case '\'':
					result = result + "''";
					break;
				case '\\':
					result = result + "\\\\";
					break;
				default:
					result = result + String.valueOf(c);
					break;
				}

			}

		} catch (Exception e) {
			return "";
		}

		return result;
	}
 

 

分享到:
评论

相关推荐

    插入数据库之前将特殊字符转义

    这篇博客“插入数据库之前将特殊字符转义”深入探讨了这个关键话题。 SQL注入是一种常见的网络攻击方式,攻击者通过输入包含恶意SQL代码的字符串,欺骗数据库执行非预期的操作。例如,如果用户输入未经过滤的“' OR...

    JSP向MYSQL插入单引号内容出错的解决方法.pdf

    解决 JSP 向 MySQL 插入单引号内容出错的方法 JSP 向 MySQL 插入单引号内容出错是 Web 开发中常见的问题。该问题的出现是由于 SQL 语句中使用单引号作为字符串的标志,而单引号在 SQL 对参数中的特殊字符较敏感所致...

    sql语句插入的数据中含有单引号怎么办.pdf

    例如,如果你有一个字符串"ab'c",在插入到数据库时,你应该写成"ab''c",这样SQL解析器会理解为一个单独的单引号字符。 下面是一个具体的示例: ```sql INSERT INTO yourTable(f1, f2) VALUES (100, 'ab''c') ```...

    积分java源码-ftldb:将FreeMarker模板引擎集成到Oracle数据库中

    在开发数据库应用程序时,您可能会遇到代码生成的需求,这是一种以编程方式而非手动使用不同元数据源编写代码的技术。 这种需求可能是由于使用先验未知条件或环境引起的,例如,当您根据用户过滤器和分组列选择构建 ...

    Hibernate_3.2.0_符合Java习惯的关系数据库持久化

    HIBERNATE - 符合Java习惯的关系数据库持久化 Hibernate参考文档 3.2 -------------------------------------------------------------------------------- 目录 前言 1. 翻译说明 2. 版权声明 1. Hibernate...

    java连接MySQL数据库的代码

    在Java编程中,连接MySQL数据库是一项基础操作,用于执行SQL查询和操作数据库。本文将详细介绍如何使用Java连接MySQL数据库,并提供具体的代码示例。 首先,我们需要导入必要的Java SQL包,以便能够与数据库进行...

    JDBC数据库

    1. **创建(Create)**:在JDBC中,创建数据通常涉及到创建SQL的INSERT语句,用来向数据库表中插入新的记录。通过`PreparedStatement`接口的`executeUpdate()`方法执行这些语句。 2. **读取(Read)**:查询数据是...

    批量导入数据库中数据

    7. **错误处理**:在导入过程中可能会遇到数据格式错误、超出字段长度限制等问题,数据库通常会记录错误并继续处理其他行。通过查看错误日志,可以定位并修复这些问题。 8. **安全考虑**:确保在导入数据时遵循安全...

    java读写csv文件

    另外,需要注意的是,在将读取到的数据插入数据库时,需要对特殊字符进行处理,以避免错误。幸好,一些基础组件比如 JDBC 的 prepared statement 已经包含了对特殊字符的处理,我们只要以绑定参数的形式来传送这些...

    在MySQL concat里面使用多个单引号,三引号的问题

    这样,当字符串被插入到数据库时,它会正确地包含一个单引号,而不是导致SQL语法错误。 6. **插入带有特殊字符的字符串**: 对于包含特殊字符的字符串,如时间戳,可以使用`StringBuilder`或`StringBuffer`来构建...

    java操作Oracle

    Java操作Oracle数据库是一种常见的任务,尤其在开发企业级应用程序时。本文主要介绍了一些关于Java JDBC API在Oracle数据库上的使用技巧,以提升性能和实现更高效的功能。 首先,选择合适的驱动程序至关重要。...

    通过JDBC连接oracle数据库的十大技巧

    为了解决这个问题,可以编写**helper函数**来处理SQL语句中的特殊字符,例如将单引号`'`替换为两个连续的单引号`''`,或者将日期对象转换为符合Oracle数据库格式的字符串。这些辅助函数能够简化动态SQL命令的创建和...

    JavaApp_CSVdataToSqlite:使用CSV文件,解析数据并将其插入SQLite内存数据库的Java应用程序

    JavaApp_CSVdataToSqlite 使用CSV文件,解析数据并将其插入SQLite内存数据库的Java应用程序。 我们需要一个Java应用程序,该应用程序将使用CSV文件,解析数据并将其插入到SQLite内存数据库中。 一种。 表X有10列A,B...

    数据库课程设计报告 (2).docx

    学生信息管理系统利用Java编程语言与MySQL数据库进行结合,通过Java连接MySQL数据库的技术,实现数据的查询、插入、更新和删除等功能。 在总体设计阶段,首先需要安装MySQL Server 5.5,并添加MySQL驱动程序mysql-...

    Android 中数据库查询方法query() 中的selectionArgs 的用法.doc

    为了解决这个问题,Android SDK提供了一个更安全的解决方案——`selectionArgs`参数。`selectionArgs`是一个字符串数组,用于与`selection`中的问号(`?`)进行匹配,系统会在执行查询时自动对这些值进行正确的转义...

    java操作Oracle.pdf

    本文主要分享了一些在使用Oracle数据库时优化Java应用程序的技巧。 1. **选择 Thin 驱动程序**: 在客户端开发中,Oracle提供了OCI驱动和Thin驱动。虽然OCI驱动利用JNI直接与Oracle客户端软件通信,但测试表明,...

    Java利用MYSQL LOAD DATA LOCAL INFILE实现大批量导入数据到MySQL

    "Java利用MYSQL LOAD DATA LOCAL INFILE实现大批量导入数据到MySQL" ...使用Java和MYSQL的LOAD DATA LOCAL INFILE语句可以实现高效的大批量导入数据到MySQL,解决了数据交换和导入问题,提高了数据处理效率。

Global site tag (gtag.js) - Google Analytics