日期:2014-05-18  浏览次数:20698 次

一个select 问题
在SQL-server中:

declare 
@tablename varchar(20), --表名
@count int, --查出表中的记录数
@sql varchar(500) --sql语句
begin
  set @tablename='stu';
  set @sql = 'select count(*) from '+@tablename;
  exec(@sql);
end;

得到的结果是:在表中有一个数(查出表中的记录数);

问题是:我怎么才得到这个数呢~~!

急啊

------解决方案--------------------
指什么情况下得到?表单传递,你在类中可以捕获。。
你指的啥情况啊?
------解决方案--------------------
declare
@tablename varchar(20), --表名 
@count int, --查出表中的记录数 
@sql varchar(500) --sql语句 
begin 
set @tablename='stu'; 
set @sql = 'select @count = count(*) from '+@tablename; 
exec(@sql); 
end; 

这样行不行啊?
在外面fatch
------解决方案--------------------
过程使用带返回类型的,然后在调用过程时直接就可以得到,为什么这么简单的一条数据非要采用这种方式来获得呀?直接用sql不就可以了吗
------解决方案--------------------
看sp_executesql的帮助