blue_dvd 发表于 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 & "', '" & $aRow & "', '" & $aRow & "', '" & $aRow & "' );")
_SQLite_Exec (-1, "DROP Table IF EXISTS '" & $sSaveTable &"';")
        _SQLite_Exec (-1, "CREATE TABLE '"& $sSaveTable & "' (" &$sFields& ");")什么时候用单引号,什么时候用双引号?

第二个代码感觉有误,应该是_SQLite_Exec (-1, "CREATE TABLE '"& $sSaveTable & "' ('" &$sFields& "');")看下是不是双引号里面引用变量时外面再加单引号?

alwaystick 发表于 2016-7-10 13:30:48

回复 1# blue_dvd


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

双引号在SQL语句中用得较少,也建议做字段时别玩这种花样,否则在编程接入数据库时可能碰到一些意想不到的情况。
(转自http://zhidao.baidu.com/link?url=bNKpr5cBnPX-NMGiN7W73XocYmU3JDLOLwlFxGoR9MnXRVkTdNpEwebWm2d3gevFAafPdHxF0tFqE4Y9xiTW6mdxnQChRsKLsM3e3XW9Y4i)

blue_dvd 发表于 2016-7-11 20:47:58

本帖最后由 blue_dvd 于 2016-7-11 21:12 编辑

回复 2# alwaystick

单引号用于单个字符,双引号用于多个字符?
以前学的怎么是基本通用的?
在SQL里面还要同时使用,崩溃了。

alwaystick 发表于 2016-7-11 23:53:17

回复 3# blue_dvd
按照我简单的理解,如果你要操作的数据是字符串类型的,就用单引号括起来。
AU3中双引号不常用在SQL语句中(比如简单的更新、插入),更多的是用在SQL语句和AU3语句的拼接上。
具体看看这个帖子 http://autoitx.com/forum.php?mod=viewthread&tid=30083,里面有详细的SQL介绍,就有单引号和拼接的例子。

zch11230 发表于 2016-7-12 04:32:13

不晓得,只知道AU3的字符串需要引号,但如果字符串中本身就包含引号,就需要用另外一种引号。
比如字符串: "'MsgBox(0,"",'"'&"'")

blue_dvd 发表于 2016-7-12 22:07:51

回复 4# alwaystick
_SQLite_Exec (-1, "CREATE TABLE '"& $sSaveTable & "' ('" &$sFields& "');")
是不是在双引号里面引用变量除了加双引号外面还要加单引号?

alwaystick 发表于 2016-7-12 22:45:57

回复 6# blue_dvd
如果变量是字符串的话,就要加单引号。其它类型一般不用。

skyfree 发表于 2016-7-13 17:20:38

AU3的单双引号在使用中没有任何区别,一般是用于简化区分不同引号而已。比方说你要执行的一句命令里已经有双引号了,那可以在AU3中用单引去标注它字符串。

blue_dvd 发表于 2016-7-14 08:34:52

回复 8# skyfree

多谢各位了,基本上懂了!
页: [1]
查看完整版本: 单引号与双引号有何区别?【已解决】