Java中sql语句的引号问题

1..sql语句

在数据库中,当我们查询语句时,会使用类似的语句:

Select * from userinfo where userid=‘1‘ or 1;

Select * from userinfo where username="jfl";

2.问题

Java通常需要连接数据库(Mysql,Oracle等)进行操作,在查询语句块中经常会用到where子句,在这里我们需要注意引号问题.

3.实例

在java中,我们需要将where子句的关键词变成变量,例如userid,username之类的。显然,直接写成以下语句不符合要求:

public static HashMap<String, String> selectDataGetRecordMap(String id) throws SQLException {

String sql = "SELECT * FROM userinfo WHERE customerid =id or ‘id‘ ";
            HashMap<String, String> map = GenericDaoOper.queryGetRecordMap(sql);
            return map;
        }

Scanner sc=new Scanner(System.in);        
        System.out.println("请输入所需查询的id:");
        String id=sc.nextLine();
        System.out.println( inser.selectDataGetRecordMap(id));

解决方法:

id=>‘ "+id+" ‘

Select * from userinfo where userid=‘ "+id+" ‘;

注:单引号 双引号 +variable+双引号 单引号

时间: 2024-10-24 21:46:12

Java中sql语句的引号问题的相关文章

java中sql语句能不能加分号的问题?

一.原因  在程序运行中,当执行sql后总是报无效字符错误:但是把程序放在pl/sql中执行又没有错误.让我很纳闷!于是我开始查找资料,然后我终于发现了问题. 二.问题剖析 原来在程序中:如果你在程序里面写sql,就不要加分号,在程序里面编译器会把分号当做sql本身的一部分,所以会报错. 如果是在查询工具里面(比如plsql),这个时候可以加上分号,在工具里面已经做过预处理,分号是个分隔符,看到分号就标志着本条sql语句结束了: 因此java中sql语句能不能加分号.

关于Java中SQL语句的拼接规则

实现目标语句是这个注意,这里的java变量是idd int idd; String sql = "SELECT id, piUrl FROM picinfos WHERE id BETWEEN '" + idd + "' AND 10" ; java中的字符串只能双引号,如果字符串中需要拼接变量,该变量用单引号括起来,然后加两个双引号再加两个加号,中间就是变量. 拼接步骤 写出SQL具体语句(无变量都是具体值的),比如上面的sql //查询picinfos表中id为

[转帖]关于Java中SQL语句的拼接规则

自学demo 的时候遇到的问题 结果应该是 '"+e.getName()+"' 注意 一共有三组标点符号 (除去 方法函数后面的括号) 实现目标语句是这个注意,这里的java变量是idd int idd; String sql = "SELECT id, piUrl FROM picinfos WHERE id BETWEEN '" + idd + "' AND 10" ; java中的字符串只能双引号,如果字符串中需要拼接变量,该变量用单引号括

详解Java的MyBatis框架中SQL语句映射部分的编写

这篇文章主要介绍了Java的MyBatis框架中SQL语句映射部分的编写,文中分为resultMap和增删查改实现两个部分来讲解,需要的朋友可以参考下 1.resultMap SQL 映射XML 文件是所有sql语句放置的地方.需要定义一个workspace,一般定义为对应的接口类的路径.写好SQL语句映射文件后,需要在MyBAtis配置文件mappers标签中引用,例如: ? 1 2 3 4 5 6 <mappers>   <mapper resource="com/limi

sql语句中单引号嵌套问题

在sql语句中,我们难免会用到单引号嵌套的时候,但是直接嵌套肯定是不行的,java中用反斜杠做转义符也是不行的,在sql中是用单引号来做转义符的. 比如下面例子是存储过程里查询时的语句示例 exec cndoup_getpageofrecords @pagesize=10,@currentpage=1,@columns='*',@tablename='ROOM',@condition='ROOMTYPElike ' %标准间%'  ', @asccolumn='ROOMID', @bitorde

JAVA中用 SQL语句操作小结

1.添加记录(INSERT) 使用SQL语句的INSERT命令可以向数据库中插入记录,INSERT命令的基本形式为: INSERT INTO 表名 [(字段名1,字段名2-)] VALUES (值1,值2,-) 若在输入记录时,每个字段均有内容,可省略表名后的字段名. 该SQL语句用于将值1,值2--值n分别赋给字段1,字段2,--字段n, 并为表增加一条记录.在使用该命令时要注意下面两个规则: 插入的值必须和列一一对应. 插入值的数据类型必须和对应列的数据类型相一致. 比如使用下面这个命令就可

关于 Java 中 finally 语句块的深度辨析

可不能小看这个简单的 finally,看似简单的问题背后,却隐藏了无数的玄机.接下来我就带您一步一步的揭开这个 finally 的神秘面纱. 问题分析 首先来问大家一个问题:finally 语句块一定会执行吗? 很多人都认为 finally 语句块是肯定要执行的,其中也包括一些很有经验的 Java 程序员.可惜并不像大多人所认为的那样,对于这个问题,答案当然是否定的,我们先来看下面这个例子. 清单 1. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1

java中switch语句中的defaul条件的位置

在java中switch语句中,每个case分支就是一个入口,如果都没有满足条件,那么将会走到default分支中.那么这个default分支的位置会不会影响到执行的流程呢? package com.app.statement; import java.util.Scanner; /**  * Created by charles on 2015/7/12.  */ public class SwitchTest {     public static void main(String[] ar

php中sql语句常见错误

.php文件中sql语句的写法导致的错误如下: 1.$logSql="select * from jd_login where uname=".$u."and upwd=".$p; 报错如下: 查询用户失败: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use