如何知道一个SQL语句的结果有几列。

hlj321 2003-09-24 10:55:11
我做一个动态报表的程序,想知道每个SQL语句的结果有几列,好在其后面的列中对前面的列进行处理。
我怎么才能知道SQL语句的结果有几列呢?
...全文
147 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
hlj321 2003-09-24
  • 打赏
  • 举报
回复
明白了
hlj321 2003-09-24
  • 打赏
  • 举报
回复
这是什么意思?
愉快的登山者 2003-09-24
  • 打赏
  • 举报
回复
declare @s varchar(1000)
set @s = 'select * from a1'
exec ('select * into __tdns from ('+@s+') as A')
select B.name from sysobjects A left join syscolumns B
on A.id = B.id where A.name = '__tdns'
drop table __tdns
gmlxf 2003-09-24
  • 打赏
  • 举报
回复
前台语言一般都有取得列数的属性。

在sql中就用
@@ROWCOUNT
返回受上一语句影响的行数。

语法
@@ROWCOUNT

返回类型
integer

注释
任何不返回行的语句将这一变量设置为 0 ,如 IF 语句。

示例
下面的示例执行 UPDATE 语句并用 @@ROWCOUNT 来检测是否有发生更改的行。

UPDATE authors SET au_lname = 'Jones'
WHERE au_id = '999-888-7777'
IF @@ROWCOUNT = 0
print 'Warning: No rows were updated'

hlj321 2003-09-24
  • 打赏
  • 举报
回复
我想用SQL中的语句是否能取出所查询出的列数
aierong 2003-09-24
  • 打赏
  • 举报
回复


@@ROWCOUNT
返回受上一语句影响的行数。

语法
@@ROWCOUNT

返回类型
integer

注释
任何不返回行的语句将这一变量设置为 0 ,如 IF 语句。

示例
下面的示例执行 UPDATE 语句并用 @@ROWCOUNT 来检测是否有发生更改的行。

UPDATE authors SET au_lname = 'Jones'
WHERE au_id = '999-888-7777'
IF @@ROWCOUNT = 0
print 'Warning: No rows were updated'
aierong 2003-09-24
  • 打赏
  • 举报
回复



select @@rowcount
sdhdy 2003-09-24
  • 打赏
  • 举报
回复
如果你用的是VB的话,并且用记录集的方式调用,可以
rst.Fields.Count为列数
rst为记录集
txlicenhe 2003-09-24
  • 打赏
  • 举报
回复
一般前台工具都有简单的函数来取。

34,874

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧