找回密码
 加入
搜索
查看: 3800|回复: 8

[效率算法] 单引号与双引号有何区别?【已解决】

  [复制链接]
发表于 2016-7-10 11:00:38 | 显示全部楼层 |阅读模式
本帖最后由 blue_dvd 于 2016-7-14 08:38 编辑

在学习SQLite中遇到单引号,双引号问题
_SQLite_Exec(-1, "INSERT INTO Item (ItemCode , ItemName , Description , Qty ) " & _
                                        "VALUES ('" & $aRow[1] & "', '" & $aRow[2] & "', '" & $aRow[3] & "', '" & $aRow[4] & "' );")
_SQLite_Exec (-1, "DROP Table IF EXISTS '" & $sSaveTable &"';")
        _SQLite_Exec (-1, "CREATE TABLE '"& $sSaveTable & "' (" &$sFields& ");")
什么时候用单引号,什么时候用双引号?

第二个代码感觉有误,应该是
_SQLite_Exec (-1, "CREATE TABLE '"& $sSaveTable & "' ('" &$sFields& "');")
看下是不是双引号里面引用变量时外面再加单引号?
发表于 2016-7-10 13:30:48 | 显示全部楼层
回复 1# blue_dvd


一般单引号用来标识字串。
一般双引号用来定界标识符,比如一般的字段都是一个字符的,你偏要搞多个字符的,系统正常情况下不认,怎么办?用双引号把它引起来,系统就懂了。当然不光是字段,可能在别的类似的情况下也会用得上。

双引号在SQL语句中用得较少,也建议做字段时别玩这种花样,否则在编程接入数据库时可能碰到一些意想不到的情况。
(转自http://zhidao.baidu.com/link?url ... nQChRsKLsM3e3XW9Y4i
 楼主| 发表于 2016-7-11 20:47:58 | 显示全部楼层
本帖最后由 blue_dvd 于 2016-7-11 21:12 编辑

回复 2# alwaystick

单引号用于单个字符,双引号用于多个字符?
以前学的怎么是基本通用的?
在SQL里面还要同时使用,崩溃了。
发表于 2016-7-11 23:53:17 | 显示全部楼层
回复 3# blue_dvd
按照我简单的理解,如果你要操作的数据是字符串类型的,就用单引号括起来。
AU3中双引号不常用在SQL语句中(比如简单的更新、插入),更多的是用在SQL语句和AU3语句的拼接上。
具体看看这个帖子 http://autoitx.com/forum.php?mod=viewthread&tid=30083,里面有详细的SQL介绍,就有单引号和拼接的例子。
发表于 2016-7-12 04:32:13 | 显示全部楼层
不晓得,只知道AU3的字符串需要引号,但如果字符串中本身就包含引号,就需要用另外一种引号。
比如字符串: "  '
MsgBox(0,"",'  "  '&"  '  ")

评分

参与人数 1金钱 +10 收起 理由
骗子 + 10

查看全部评分

 楼主| 发表于 2016-7-12 22:07:51 | 显示全部楼层
回复 4# alwaystick
_SQLite_Exec (-1, "CREATE TABLE '"& $sSaveTable & "' ('" &$sFields& "');")
是不是在双引号里面引用变量除了加双引号外面还要加单引号?
发表于 2016-7-12 22:45:57 | 显示全部楼层
回复 6# blue_dvd
如果变量是字符串的话,就要加单引号。其它类型一般不用。
发表于 2016-7-13 17:20:38 | 显示全部楼层
AU3的单双引号在使用中没有任何区别,一般是用于简化区分不同引号而已。比方说你要执行的一句命令里已经有双引号了,那可以在AU3中用单引去标注它字符串。
 楼主| 发表于 2016-7-14 08:34:52 | 显示全部楼层
回复 8# skyfree

多谢各位了,基本上懂了!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-25 00:20 , Processed in 0.103481 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表