积极答复者
当前select语句,返回上一条select的数据,原因是什么

问题
-
我依次执行这两条sql语句:(以数据库AdventureWorks为例)
SELECT LastName
FROM Person.Contact
SELECT AddressID, AddressLine1
FROM Person.Address
(随便两条sql都行)第一条没有返回表数据。
第二条返回第一条的表数据。(如果有第三条sql语句的话, 第三条返回第二条的数据。)
这是什么原因?
我的一个asp.net程序过两天会出现错误,我写了个测试页面,仅仅执行sql,用于测试程序,测试发现了上面的问题。过一段时间,系统就会自己好了,或者复位一下iis,系统也会好。
答案
-
发生问题时, 将 sql 语句放到 managent studio 中去跑, 如果不出问题, 则检查你的程序, 否则检查 sql server
- 已标记为答案 Hong-Gang Chen - MSFTModerator 2010年1月19日 8:33
-
if exists(select 1 from Person.Contact )
SELECT LastName FROM Person.Contact
else if exists(select 1 FROM Person.Address)
SELECT AddressID, AddressLine1 FROM Person.Address
.......
這樣判斷,有一點要注意,結果集的格式最好至,也就是顯示的列數和類型
建議用程序判斷,傳參控制
ROY WU(吳熹 )- 已标记为答案 Hong-Gang Chen - MSFTModerator 2010年1月19日 8:33
-
一个可能的原因是第一个SELECT没有返回结果。程序是不是没有处理这种情况?
- 已标记为答案 Hong-Gang Chen - MSFTModerator 2010年1月19日 8:33
-
遇到这样问题首先可以确定不是sql server问题,一个一个去确定问题而不是猜测,以免循环测试(因为问题不确定),浪费时间
- 已标记为答案 Hong-Gang Chen - MSFTModerator 2010年1月19日 8:33
全部回复
-
发生问题时, 将 sql 语句放到 managent studio 中去跑, 如果不出问题, 则检查你的程序, 否则检查 sql server
- 已标记为答案 Hong-Gang Chen - MSFTModerator 2010年1月19日 8:33
-
if exists(select 1 from Person.Contact )
SELECT LastName FROM Person.Contact
else if exists(select 1 FROM Person.Address)
SELECT AddressID, AddressLine1 FROM Person.Address
.......
這樣判斷,有一點要注意,結果集的格式最好至,也就是顯示的列數和類型
建議用程序判斷,傳參控制
ROY WU(吳熹 )- 已标记为答案 Hong-Gang Chen - MSFTModerator 2010年1月19日 8:33
-
一个可能的原因是第一个SELECT没有返回结果。程序是不是没有处理这种情况?
- 已标记为答案 Hong-Gang Chen - MSFTModerator 2010年1月19日 8:33
-
遇到这样问题首先可以确定不是sql server问题,一个一个去确定问题而不是猜测,以免循环测试(因为问题不确定),浪费时间
- 已标记为答案 Hong-Gang Chen - MSFTModerator 2010年1月19日 8:33