A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 马亚冲 黑马帝   /  2011-8-26 21:37  /  7834 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在JDBC中经常会有这样的查询语句字符串,其中的单引号和双引号用于连接普通字符创和参数,例如:
     (1)String sql="select * from user where username='"+usernam+"'";
    (2)String sql="insert into user(username,password,email)values('"+username+"','"+password"','"+email"')";

   这里面的单引号和双引号,我觉得好混乱啊,谁能简明说一下,这里面的哪是单引号,哪是双引号吗,在写的时候怎么方便记忆呢??????

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

6 个回复

正序浏览
黑马网友  发表于 2011-8-29 15:30:24
7#
参数用?来传,看起来是挺乱的
回复 使用道具 举报
黑马网友  发表于 2011-8-27 18:59:48
地板
既然觉得混乱就不要用字符串拼了,用preparedstatement ? 再set进去多好
回复 使用道具 举报
黑马网友  发表于 2011-8-27 00:28:00
报纸

回复 楼主 的帖子

JDBC中的sql语句单引号和双引号,双引号是为了表示字符串,这个很容易懂。
出现单引号一般是需要对数据库执行更新操作(更新字段或者插入数据)或者查询操作时,出现了字符串。
在数据库中,字符串是用一对单引号括起来的。
如何明白了上面的内容,那么我们可以像下面这样做,就很容易区分开单引号和双引号了。
以楼主的例子来说,我们可以这样做,先不管需要更新的是否是字符串,先将SQL语句写出来。
String sql="insert into user(username,password,email)values("+username+","+password","+email")";
然后我们找出其中的字符串,添加上单引号,
String sql="insert into user(username,password,email)values('"+username+"','"+password"','"+email"')";
这样做,就把两个区分开了

评分

参与人数 1技术分 +1 收起 理由
wangfayin + 1 可以这样理解!

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-8-26 23:31:47
板凳
本帖最后由 匿名 于 2015-3-27 16:29 编辑

这种是字符串拼接sql语句的方式,在向数据库中插入数据时,值为字符串时需要用一对‘’(单引号)括起来,整型不用,而这种拼接的方式最主要的目的就是将单引号中的值替换为变量,在sql语句被执行时将解析这些变量再将其替换为需要的数据,这样就比固定值更加灵活。
    String sql = "insert into user(username,password,email) values('" + username
                        + "','" + password + "','" + email + "')" ;
        每个红色的部分就是一个单独的字符串,而username,password,email也是字符串,通过+号将这些字符串拼接成一个完整的字符串。
      回答完毕,不知你是否明白。

评分

参与人数 1技术分 +1 收起 理由
wangfayin + 1 不错!

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-8-26 22:53:14
藤椅
单引用号,就是作条件的值时,需要。。。
双引号民,,,就当它不存在,,,它只是String 所必须有的。。。跟sql没关系
回复 使用道具 举报
黑马网友  发表于 2011-8-26 21:47:42
沙发
如果你使用的是 字符串拼装手法 例如
可以分成 三个部分看
部分一:String begin = "select * from userInfo where userName= '  "  ---->等号后面跟着一个单引号
部分二:String value=姚明
部分三:String end=" ' "; ------>一个单引号

拼装后就是:select * from userInfo where userName= ' "+姚明+" ' ";
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马