我想得到表中的记录总数!create proc test @tb varchar(10), @RecordCount int out as SET @RecordCount = convert(int,'SELECT COUNT(*) FROM '+@tb ) EXEC (@RecordCount) [Microsoft][ODBC SQL Server Driver][SQL Server]将 varchar 值 'SELECT COUNT(*) FROM newsgroup' 转换为数据类型为 int 的列时发生语法错误。
真是晕! SELECT COUNT(*) FROM Table int i; SqlDataReader Dr=读取ExecuteReader(); while(Dr.Read()) { i=Dr[0].ToString(); } Console.WriteLine(i.ToString()); 条数不就出来了吗!!
@RecordCount这是存储过程中的内部变量!要是能有sql语句我早就做出来了!
试试这样:@SqlString = 'SELECT @RecordCount = COUNT(*) FROM '+@tb EXEC (@SqlString)
这个http://community.csdn.net/Expert/topic/3592/3592434.xml?temp=.4338037正是我想要的 --统计总记录数 select @allCount=count(ProductId) from @tb 但是他的表名是写死的。可是改成变量又包错!
这个http://community.csdn.net/Expert/topic/3592/3592434.xml?temp=.4338037正是我想要的 CREATE PROCEDURE test @tb varchar(100), @allCount int output, --返回总记录数 @pageSize int output, --返回一页的记录数 --统计总记录数 select @allCount=count(ProductId) from @tb 但是他的表名是写死的。可是改成变量又包错!
大家用什麽工具调试存储过程?
你这种方法返回的是:'s'
我想得到表中的记录总数!create proc test
@tb varchar(10),
@RecordCount int out
as
SET @RecordCount = convert(int,'SELECT COUNT(*) FROM '+@tb )
EXEC (@RecordCount)
[Microsoft][ODBC SQL Server Driver][SQL Server]将 varchar 值 'SELECT COUNT(*) FROM newsgroup' 转换为数据类型为 int 的列时发生语法错误。
SELECT COUNT(*) FROM Table
int i;
SqlDataReader Dr=读取ExecuteReader();
while(Dr.Read())
{
i=Dr[0].ToString();
}
Console.WriteLine(i.ToString());
条数不就出来了吗!!
EXEC (@SqlString)
sql还是orcle?
EXEC (@SqlString)
@recordCount=0 , 应该有8条记录!
@tb varchar(10)
as
declare @recordcount varchar(100)
set @recordcount='select count(*) from '+@tb
exec(@recordcount)
GO
怎可能得不到结果那?
CREATE PROCEDURE test
@tb varchar(100),
@RecordCount varchar(200),
@PageSize int,
@PageCount intasdeclare @sql varchar(600) set @RecordCount = 'SELECT COUNT(*) FROM '+@tb
set @PageCount =ceiling (cast(@RecordCount as int) * 1.0/@PageSize)
exec (@pageCount)
服务器: 消息 8114,级别 16,状态 5,过程 test,行 13
[Microsoft][ODBC SQL Server Driver][SQL Server]将数据类型 varchar 转换为 numeric 时出错。to LoveCherry:存储过程真是新手!不好意思! 总是包这个错!
祝大家鸡年金鸡报晓,技术精进,多挣money
如果你要直接在存储过程里面返回变量就应该设置变量out
你把@RecordCount一个字符串转变为int能不报错吗?
http://community.csdn.net/Expert/topic/3592/3592434.xml?temp=.4338037
select @allCount=count(ProductId) from @tb
但是他的表名是写死的。可是改成变量又包错!
CREATE PROCEDURE test
@tb varchar(100),
@allCount int output, --返回总记录数
@pageSize int output, --返回一页的记录数 --统计总记录数
select @allCount=count(ProductId) from @tb
但是他的表名是写死的。可是改成变量又包错!