Foxtable(狐表)用户栏目专家坐堂 → 单引号与双引号!查询语句中的字符串常量何时用单引号,何时用双引号?


  共有31001人关注过本帖树形打印复制链接

主题:单引号与双引号!查询语句中的字符串常量何时用单引号,何时用双引号?

帅哥哟,离线,有人找我吗?
lxl
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:858 积分:6071 威望:0 精华:19 注册:2008/9/1 9:13:00
  发帖心情 Post By:2008/9/15 14:54:00 [只看该作者]

以下是引用cpayinyuan在2008-9-15 13:07:00的发言:

终于看明白了,是引号太多了,刚才没有看出来谁给谁是一对儿,是把几个部分串成了一个完整的表达多,多谢!以后还要多向您请教!
    另外,关于执行太参数的SQl server存储过程的事,麻烦您认真测试一下,看有无问题.一般情况下,如果执行的SQL命令是查询,一般用QueryBuilder即可,但如果要执行一大串的往外部数据库中写数据的命令,恐怕就得用 SQLcommand执行SQL server的存储过程了,而且,一般情况下还要向SQL server中传递参数,并返回参数,我上午试了一下,没有成功,请您认真看一下.谢了!

[此贴子已经被作者于2008-9-15 13:10:29编辑过]

关于SQL语言 我只接触过ACCESS.
SQl server 的知识以后还得向你请教呢.


 回到顶部
帅哥哟,离线,有人找我吗?
cpayinyuan
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2008/9/15 15:43:00 [只看该作者]

以下是引用lxl在2008-9-15 14:54:00的发言:

关于SQL语言 我只接触过ACCESS.
SQl server 的知识以后还得向你请教呢.

我试了好半天,终于调试成功了,闹了半天,还是单引号和双引号惹的祸,还是应该感谢你的解释!


 回到顶部
帅哥哟,离线,有人找我吗?
chips
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:9 积分:135 威望:0 精华:0 注册:2008/9/12 23:05:00
  发帖心情 Post By:2008/9/15 23:19:00 [只看该作者]

引号是要成对出现的。中文里,引用别人的原话用双引号(“”),引号里的引号就用单引号(‘’)表

示。当然这是双字节引号,在计算机里用单字节的双引号("  ")和单引号(' ')。
a   =   "b"         表示a为b  
a   =   ""b""       表示a为"b"  
a   =   """"  &  "b"  &  """"     表示a为"b"
a   =   "'b'"       表示字符a为'b'
a   =   "'"  &  "b"  &  "'"   表示a为'b' 
VB和SQL的语句都是由符合语法规则的命令字符串组成,用 " "传递着命令语句。我们经常用连接符号&,灵活

地将语法中保留字组成的语句和具体的字段或变量结合起来形成实际命令。 " "之间是一个字符串," "和" "

用&连接形成 。
Dim Val1 As String = e.Form.Controls("ComboBox2").Value
假设在ComboBox2输入了:张三
我们需要的结果是:strSql = "select   *   from   kh   where   xm='张三'"  
可以把它分解成三部分:
  "select   *   from   kh   where   xm='"  
  张三  
  "'"  
中间是来自其它控件传递的变量的值,两头是固定的字符串,用左拼右凑的方法是:  
 strsql   ="select   *   from   kh   where   xm='"  & Val1 & "'"  

通常双引号是给VB用的,单引号是给SQL语句用的。


 回到顶部
帅哥哟,离线,有人找我吗?
lxl
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:858 积分:6071 威望:0 精华:19 注册:2008/9/1 9:13:00
  发帖心情 Post By:2008/9/16 7:02:00 [只看该作者]

以下是引用chips在2008-9-15 23:19:00的发言:

a   =   ""b""       表示a为"b"  
a   =   """"  &  "b"  &  """"     表示a为"b"

 

这里有点小问题
引号内的引号要加倍,易表也有这样的语法.
在命令窗口分别测试:
Return ""        
Return """             '报错
Return """"
Return ""b""          '报错
Return """b"""


 回到顶部
帅哥哟,离线,有人找我吗?
jweishan
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:150 积分:2090 威望:0 精华:0 注册:2008/9/10 22:48:00
  发帖心情 Post By:2008/9/16 10:16:00 [只看该作者]

lxl 解释得很好,谢谢,为这个问题我折腾了好久,现在清楚了!

 回到顶部
总数 15 上一页 1 2