首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

读取数据库数据为空解决方法

2012-01-23 
读取数据库数据为空用的存储过程!传入参数方法:DAL层C# codepublic SqlParameter CreateInParam(string Pa

读取数据库数据为空
用的存储过程!
传入参数方法:DAL层

C# code
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层:
C# code
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;        }

用的时候提示是空值,为啥呢?感觉没有错!找不出哪个地方出毛病了


[解决办法]
哪个变量提示为空值?
[解决办法]
public void RunProc(string procName, SqlParameter[] prams,SqlDataReader dataReader)

别用out

热点排行