一个头疼的问题 求救
小弟写了下面这个方法,就是在登陆后显示一些信息,其余账号都行可以正常的显示信息,但是有一个账号出问题,调试后发现是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() --------------------编程问答--------------------
parm[2].Value是object值啊 不同tostring会报错的 --------------------编程问答-------------------- 可以先判断一下然后再ToString() --------------------编程问答-------------------- 直接Convert.tostring()这个可以为空串。 --------------------编程问答-------------------- parm[2].Value为null时,你再Tostring()导致挂掉了, --------------------编程问答--------------------
可是我数据库里的存储过程是好的 我exec了下 是有值的啊 --------------------编程问答--------------------
tostring()方法若返回值为NULL,则会出现此问题。 --------------------编程问答-------------------- RecordCount = parm[2].Value == null ? "" : parm[2].Value.ToString(); --------------------编程问答-------------------- 判断一下 parm[2].Value --------------------编程问答-------------------- 你那个是输出参数怎么会有值? --------------------编程问答-------------------- 把存储过程和MSSQL中存储过程的执行结果贴出来 --------------------编程问答-------------------- 当你的parms为空对象的时候,tostring就会报找不到对象错误
补充:.NET技术 , ASP.NET