| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3216 人关注过本帖
标题:关于SQL语言中where in语句的使用??
取消只看楼主 加入收藏
loria
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2007-9-8
收藏
 问题点数:0 回复次数:5 
关于SQL语言中where in语句的使用??
大家好:

我有一个字符串mystr=(0010,0020,0030)等,字符串里面的元素可能会改变,但是字符串的名称mystr不变

用sQL语句查询编码包含在字符串mystr里面的行的信息,语句如下:

Adodc1.RecordSource = "select * from table where 编码 in ('0010','0020','0030')"

Adodc1.RecordSource = "select * from table where 编码 in ("+ mystr + ")"

第一条语句可以实现查询,而第二条语句未显示任何结果,in后面如果是一个字符串的话,应该是怎样的写法??

调用SQL的环境:VB
搜索更多相关主题的帖子: SQL 语句 语言 
2007-10-13 15:56
loria
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2007-9-8
收藏
得分:0 
我定义的mystr为一字符串变量,mystr里面的字符也都强制转换成字符串了,这只是一种表述方式,说明我mystr字符串里面的内容
2007-10-13 16:21
loria
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2007-9-8
收藏
得分:0 
Dim i As Long, s() As String
ReDim s(i To Val(Outbuffer(0))) As String
For i = 0 To (Val(Outbuffer(0)) - 1)
s(i) = Trim(str(Hex(Con(Outbuffer(1 + 3 * i), Outbuffer(2 + 3 * i)))))

Dim mystr As String
If Val(Outbuffer(0)) > 0 Then
mystr = Join(s, ",")

Adodc1.RecordSource = "select 编码,故障码 from DTC where 编码 in ('" + mystr + " ')"

这是我的程序,请帮忙检查一下
2007-10-13 16:31
loria
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2007-9-8
收藏
得分:0 
按照版主的说法加了msgbox mystr,果真不是是'0010','0020','0030',没有单引号,那应该怎么加呢?
我mystr里面的字符串是通过数组元素join过来的

'" + mystr + " '这样的形式仍然没有结果显示??

[此贴子已经被作者于2007-10-13 16:39:32编辑过]

2007-10-13 16:33
loria
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2007-9-8
收藏
得分:0 

查找的资料中:

当数组是int型时,
string strsql ="SELECT c_c_UpTime,c_c_Position,STitle FROM SeekItem where c_id in ("+str+")";

当数组是string型时
string strsql ="SELECT c_c_UpTime,c_c_Position,STitle FROM SeekItem where c_id in (' "+str+" ')";

两者的区别就是当是string型时,需要多一对单引号,我照第二种方式,不知为什么不能显示正确的结果?

2007-10-13 16:51
loria
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2007-9-8
收藏
得分:0 

感谢版主,终于可以了,非常非常的感谢,很是感受到这个论坛的温暖

2007-10-13 19:30
快速回复:关于SQL语言中where in语句的使用??
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.046285 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved