第1个回答 2019-01-31
不能显示有两种情况:
1。程序有错误
2。程序没错,但查询到的数据集合为空
对于第2点又有2种情况:
a.SQL语句不对
b.SQL正确,数据库里的数据不满足条件
在多表查询时最好给所有字段都加上表名限制,减少出错的可能性
可以先测试一下SQL语句
SQL
SERVER在查询分析器里执行语句
ACCESS的话新建一个查询,在SQL视图中执行语句
照你前面所说,应该是Text1.Text
=
S.SNAME,可是你后面有些sql中又有WHERE
S.SNUM='"&
TEXT1.TEXT
&"'跟WHERE
SNAME='"&
TEXT1.TEXT
&"',我都不知道到底是哪个字段对应Text1.Text了。如果可以,把数据库结构贴出来看一下
我根据推测写了一个,你看看行不行
SELECT
C.CName
FROM
C,SC,S
WHERE
S.Snum=SC.Snum
AND
SC.Cnum=C.Cnum
AND
S.SName='"
&
Text1.Text
&
"'
//“&”号两边都有空格
我说的表明限制就是指
表名.字段名
这种写法,当数据库很大内容很多的时候,难免会有多个表拥有相同的字段名,当多表查询时这样可以减少一些错误
我猜你应该用的是Access吧,SQL
Server的话字符串要用单引号而不是双引号
你可以先在数据库测试sql语句,把S.SName='"
&
Text1.Text
&
"'换成S.SName="具体值"
没错后再放到程序里,如果还是有问题,设下断点跟踪调试
第2个回答 2009-08-06
你是先查所有的年月日作用父节点吧:
SELECT DISTINCT cast(YEAR(时间) as varchar(4))+'-'+cast(MONTH(时间) as varchar(2))+'-'cast(DAY(时间) as varchar(2)) FROM table1
然后字节点可以根据父节节点的年\月\日分别相等来查询!
第3个回答 2009-08-06
where convert(varchar(7),shijian,120)>'2009-01'
虚拟的表:用临时表(表名字前面加#) 或建视图本回答被提问者采纳
第4个回答 2009-08-06
其实没弄明白你要做什么...