当前位置:编程学习 > C#/ASP.NET >>

一个头疼的问题 求救


小弟写了下面这个方法,就是在登陆后显示一些信息,其余账号都行可以正常的显示信息,但是有一个账号出问题,调试后发现是RecordCount = parm[2].Value.ToString();未实例化为空,这是怎么回事呢? 而且我在存储过程里执行这个账号是能正常显示的,可是到了vs里就这个账号有问题,高手求解
public DataTable getData(string pageSize, string pageCurrent,ref string RecordCount, string pageCount,string currentID,string tName,string sn)
        {
            try
            {
                SqlParameter[] parm = new SqlParameter[] {    
                    new SqlParameter("@pageSize",pageSize),
                    new SqlParameter("@pageCurrent",pageCurrent),
                    new SqlParameter("@RecordCount", RecordCount),
                    new SqlParameter("@pageCount",pageCount),
                    new SqlParameter("@currentID",currentID),
                    new SqlParameter("@tName",tName),
                    new SqlParameter("@sn",sn)
                };

                parm[2].Direction = ParameterDirection.Output;
                DataTable dt = DBAccess.getDataByProc("lz_select_terminals", "local", parm);
                RecordCount = parm[2].Value.ToString();                return dt;

            }
            catch (Exception) { throw; }
        } --------------------编程问答-------------------- 顶帖………… --------------------编程问答-------------------- parm[2].Value.ToString();

改成parm[2].Value;

就可以了,不必要tostring() --------------------编程问答--------------------
引用 2 楼 msdnxgh 的回复:
parm[2].Value.ToString();

改成parm[2].Value;

就可以了,不必要tostring()

parm[2].Value是object值啊  不同tostring会报错的 --------------------编程问答-------------------- 可以先判断一下然后再ToString() --------------------编程问答-------------------- 直接Convert.tostring()这个可以为空串。 --------------------编程问答-------------------- parm[2].Value为null时,你再Tostring()导致挂掉了, --------------------编程问答--------------------
引用 6 楼 hhqsy 的回复:
parm[2].Value为null时,你再Tostring()导致挂掉了,

可是我数据库里的存储过程是好的 我exec了下 是有值的啊 --------------------编程问答--------------------
引用 2 楼 msdnxgh 的回复:
parm[2].Value.ToString();

改成parm[2].Value;

就可以了,不必要tostring()

tostring()方法若返回值为NULL,则会出现此问题。 --------------------编程问答-------------------- RecordCount = parm[2].Value == null ? "" : parm[2].Value.ToString(); --------------------编程问答-------------------- 判断一下 parm[2].Value --------------------编程问答-------------------- 你那个是输出参数怎么会有值? --------------------编程问答-------------------- 把存储过程和MSSQL中存储过程的执行结果贴出来 --------------------编程问答-------------------- 当你的parms为空对象的时候,tostring就会报找不到对象错误
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,