asp如何取得存储过程的return值 本帖最后由 fangsky 于 2009-07-13 23:52:05 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 connParameter.commandtext = "Page2005"; connParameter.commandtype = CommandType.StoredProcedure; SqlParameter[] sqlParameters = { new SqlParameter("@TableName",SqlDbType.Int), new SqlParameter("@Fields",SqlDbType.Int), new SqlParameter("@PrimaryKey",SqlDbType.Int), new SqlParameter("@OrderField",SqlDbType.DateTime), new SqlParameter("@Orderby",SqlDbType.Int), new SqlParameter("@sqlWhere",SqlDbType.DateTime), new SqlParameter("@pageSize",SqlDbType.Int), new SqlParameter("@pageIndex",SqlDbType.Int), new SqlParameter("@TotalPage",SqlDbType.Int) }; sqlParameters[0].Value = TableName;//这些参数需要在上面定义 sqlParameters[1].Value = Fields; sqlParameters[2].Value = PrimaryKey; sqlParameters[3].Value = OrderField; sqlParameters[4].Value = Orderby; sqlParameters[5].Value = sqlWhere; sqlParameters[6].Value = pageSize; sqlParameters[7].Value = TotalPage;//这些参数需要在上面定义 sqlParameters[8].Direction = ParameterDirection.Output; //这个值就是你要的值 connParameter.parameters = sqlParameters; Database db = DatabaseFactory.CreateDatabase("DataBase"); SqlConnection connection = (SqlConnection)db.GetConnection(); SqlCommand sb = connection.CreateCommand(); try { connection.Open(); sb.CommandText = "Process Name"; sb.CommandType = CommandType.StoredProcedure; sb.Parameters.Clear(); sb.Parameters.Add("@TableName ", SqlDbType.VarChar, 50); --传入参数 sb.Parameters["@TableName "].Value = data; -- 值 ... sb.Parameters.Add("@totalRecord ", SqlDbType.NVarChar, 500); --传出参数 sb.Parameters["@totalRecord "].Direction = ParameterDirection.Output; -- 设置方向 sb.ExecuteNonQuery(); string dividedJobInfo = sb.Parameters[1].Value.ToString(); return dividedJobInfo; } 编辑提示 求助 非常难!如何提高这条语句的执行效率?不局限于语法,还可以帮我重新设计表结构,谢谢! 如何把所创建的数据库中的数据表拷贝出来? 求教:如何去掉重复行只留第一行? output输出参数来返回查询结果,这么写有错吗? 不知这个需求怎么说了,行转列还是列转行,大牛们来看一下 sql语句如何取得一个表中的列名,数据类型,及长度? 这条SQL语句怎么写? 关于sql server查询条件的问题 ???查询定位问题,如何查询这样的记录,请指教??? sql语句疑问
connParameter.commandtext = "Page2005";
connParameter.commandtype = CommandType.StoredProcedure; SqlParameter[] sqlParameters =
{
new SqlParameter("@TableName",SqlDbType.Int),
new SqlParameter("@Fields",SqlDbType.Int),
new SqlParameter("@PrimaryKey",SqlDbType.Int),
new SqlParameter("@OrderField",SqlDbType.DateTime),
new SqlParameter("@Orderby",SqlDbType.Int),
new SqlParameter("@sqlWhere",SqlDbType.DateTime),
new SqlParameter("@pageSize",SqlDbType.Int),
new SqlParameter("@pageIndex",SqlDbType.Int),
new SqlParameter("@TotalPage",SqlDbType.Int)
};
sqlParameters[0].Value = TableName;//这些参数需要在上面定义
sqlParameters[1].Value = Fields;
sqlParameters[2].Value = PrimaryKey;
sqlParameters[3].Value = OrderField;
sqlParameters[4].Value = Orderby;
sqlParameters[5].Value = sqlWhere;
sqlParameters[6].Value = pageSize;
sqlParameters[7].Value = TotalPage;//这些参数需要在上面定义
sqlParameters[8].Direction = ParameterDirection.Output; //这个值就是你要的值 connParameter.parameters = sqlParameters;
Database db = DatabaseFactory.CreateDatabase("DataBase"); SqlConnection connection = (SqlConnection)db.GetConnection(); SqlCommand sb = connection.CreateCommand();
try
{
connection.Open(); sb.CommandText = "Process Name";
sb.CommandType = CommandType.StoredProcedure; sb.Parameters.Clear();
sb.Parameters.Add("@TableName ", SqlDbType.VarChar, 50); --传入参数
sb.Parameters["@TableName "].Value = data; -- 值 ... sb.Parameters.Add("@totalRecord ", SqlDbType.NVarChar, 500); --传出参数
sb.Parameters["@totalRecord "].Direction = ParameterDirection.Output; -- 设置方向
sb.ExecuteNonQuery(); string dividedJobInfo = sb.Parameters[1].Value.ToString(); return dividedJobInfo;
}