双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

关于调用存储过程返回参数的问题。

vikingleo vikingleo 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
public static DataSet RunProcedurePage(string storedProcName, IDataParameter[] parameters, string tableName, out int recordCount, out int pageCount)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
DataSet dataSet = new DataSet();
connection.Open();
SqlDataAdapter sqlDA = new SqlDataAdapter();
sqlDA.SelectCommand = BuildQueryCommand(connection, storedProcName, parameters);
sqlDA.Fill(dataSet, tableName);

recordCount = (int)sqlDA.SelectCommand.Parameters["@RecordCount"].Value;
pageCount = (int)sqlDA.SelectCommand.Parameters["@PageCount"].Value;
string xx = sqlDA.SelectCommand.Parameters["@str"].Value.ToString();
connection.Close();
return dataSet;
}
}

用这种方法 recordCount =2,pageCount =2 ,xx =output

直接 SqlCommand command = new SqlCommand(storedProcName, connection);
command.CommandType = CommandType.StoredProcedure;
command.Parameters.Add(new SqlParameter("@Tables", SqlDbType.VarChar));
command.Parameters[0].Value = "FileList"; 省略。。。。。
SqlDataAdapter sqlDA = new SqlDataAdapter(command);

sqlDA.Fill(dataSet, tableName);

recordCount = (int)command.Parameters["@RecordCount"].Value;
pageCount = (int)command.Parameters["@PageCount"].Value;
string xx = command.Parameters["@str"].Value.ToString();
这样返回的值就是正常的 。。。。。。就是传入parameters 就不行 。直接添加 parameters就得到正确的返回值

传入的parameters 跟直接写的是一模一样的。 两者dataSet 都有数据返回而且数据是一致的。就是第一个得不到返回参数。求解
...全文
评论 6
收藏 已收藏
分享
返回顶部
vikingleo
.NET社区 62,274 成员 668,968 内容