读取数据库数据为空

twfx7758 2008-09-11 02:34:11
用的存储过程!
传入参数方法:DAL层

public SqlParameter CreateInParam(string ParamName, SqlDbType DbType, int Size, object Value)
{
return CreateParam(ParamName, DbType, Size, ParameterDirection.Input, Value);
}
public SqlParameter CreateParam(string ParamName, SqlDbType DbType, Int32 Size, ParameterDirection Direction, object Value)
{
SqlParameter param;

///当参数大小为0时,不使用该参数大小值
if (Size > 0)
{
param = new SqlParameter(ParamName, DbType, Size);
}
else
{
///当参数大小为0时,不使用该参数大小值
param = new SqlParameter(ParamName, DbType);
}

///创建输出类型的参数
param.Direction = Direction;
if (!(Direction == ParameterDirection.Output && Value == null))
{
param.Value = Value;
}

///返回创建的参数
return param;
}
//得到cmd
public void RunProc(string procName, SqlParameter[] prams, out SqlDataReader dataReader)
{
///创建Command
SqlCommand cmd = CreateProcCommand(procName, prams);

///读取数据
dataReader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
}
private SqlCommand CreateProcCommand(string procName, SqlParameter[] prams)
{
///打开数据库连接
Open();

///设置Command
SqlCommand cmd = new SqlCommand(procName, con);
cmd.CommandType = CommandType.StoredProcedure;

///添加把存储过程的参数
if (prams != null)
{
foreach (SqlParameter parameter in prams)
{
cmd.Parameters.Add(parameter);
}
}

///添加返回参数ReturnValue
cmd.Parameters.Add(
new SqlParameter(RETURNVALUE, SqlDbType.Int, 4, ParameterDirection.ReturnValue,
false, 0, 0, string.Empty, DataRowVersion.Default, null));

///返回创建的SqlCommand对象
return cmd;
}

BLL层:

public SqlDataReader GetAdminID(string sAdminName, string sPassword)
{
SQLHelper sqlHelp = new SQLHelper();
SqlParameter[] prams = {
sqlHelp.CreateInParam("@AdminName", SqlDbType.VarChar, 200, sAdminName),
sqlHelp.CreateInParam("@Password", SqlDbType.VarChar, 50, sPassword)
};
SqlDataReader dr;
sqlHelp.RunProc("Pr_GetAdminID", prams, out dr);
return dr;
}

用的时候提示是空值,为啥呢?感觉没有错!找不出哪个地方出毛病了
...全文
112 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
priwilliam 2008-09-11
  • 打赏
  • 举报
回复
public void RunProc(string procName, SqlParameter[] prams,SqlDataReader dataReader)

别用out
twfx7758 2008-09-11
  • 打赏
  • 举报
回复
提示dr["AdminID"] 没有数据, 存储过程就是返回这个数据的!
brallow 2008-09-11
  • 打赏
  • 举报
回复
哪个变量提示为空值?

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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