我发现 在SQL查询语言中(特指在 VB+ACCESS MDB 数据库应用中),表示一个字符串常量时,可以用双引号代替单引号。在ACCESS中我也试过,可行。
select * from 某表名 where 某字段名 = "字符串常量"  等同于
select * from 某表名 where 某字段名 = '字符串常量'  
在VB中的表示形式是:
SQL_STR = "select * from 某表名 where 某字段名 = " & chr(34) & "字符串常量" & chr(34)
在我的软件中,我需要这么做,但是我不知道这么做会不会有不良的影响,但是我没有从某个“文献资料”中证实,不知大家能不能告诉我哪个帮助文档中对此问题作出了说明。请各位高手指教!。

解决方案 »

  1.   

    参考SQL-92 设置语句
    SET ANSI_DEFAULTSSET ANSI_NULL_DFLT_OFFSET ANSI_NULL_DFLT_ONSET ANSI_NULLSSET ANSI_PADDINGSET ANSI_WARNINGS
    的相关内容
      

  2.   

    记得再MSSQL 里面可以用两个单引号表示 一个字符单引号
    因为爽引号跟VB的冲突,所以我都用单引号
      

  3.   

    只要按照语法绝对没问题,也可以这样写:
    SQL_STR = "select * from 某表名 where 某字段名 = '" & "字符串常量" &"'"
      

  4.   

    楼上的兄弟好,我知道 
    -----------------------------------
    只要按照语法绝对没问题,也可以这样写:
    SQL_STR = "select * from 某表名 where 某字段名 = '" & "字符串常量" &"'"
    -----------------------------------
    这样写没有问题,但是在我的软件中的某种场合就是需要 用SQL_STR = "select * from 某表名 where 某字段名 = " & chr(34) & "字符串常量"  & chr(34)能找到确切的文字说明么?说这样做可行!
      

  5.   

    在这样的表达式中,如果嵌套使用双引号,必须使用单引号来代替字符串中的双引号,或者用chr(34)来返回要使用的双引号,以区别VB中的语法,否则会引起语法错误(曾经在一本数据库开发的书中看到过,好象是机械工业出版社的)。
      

  6.   

    假如字符串中本身就存在单引号,最好replace一下
    "select  * from 某表名 where 某字段名='" & Replace("字符串常量", "'", "''") & "'"