日期:2014-05-17  浏览次数:20529 次

未将对象引用实力
public string getparentName(int parentID)
  {
  if (parentID > 0)
  {
  return Fj.Data.Mssql.SqlHelper.ExecuteScalar(
  DB.conString,
  CommandType.Text,
  "select menuName from b_menu where menuId=" + parentID).ToString();
  }
  else
  {
  return "";
  }


用户代码未处理 System.NullReferenceException
  Message="未将对象引用设置到对象的实例。"
  Source="www.car.com"
  StackTrace:
  在 System.Web.UI.Control.OnDataBinding(EventArgs e)
  在 System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding)
  在 System.Web.UI.Control.DataBind()
  在 System.Web.UI.Control.DataBindChildren()
  InnerException: 


------解决方案--------------------
断点调试,报错的那句,看看,里面有null对象
------解决方案--------------------
return Fj.Data.Mssql.SqlHelper.ExecuteScalar(DB.conString, CommandType.Text,
"select menuName from b_menu where menuId=" + parentID).ToString();

由于你在句尾用了.ToString,则必须保证()里面的三个参数有值,否则则会报出此错误。
而里面只有DB.conString是从其他地方调用过来的,很有可能是它没有值所导致。

可以试试,在当前页面加一句: string conString = "Data Source=你的数据库;User ID=你的用户名;Password=你的密码;Initial Catalog=你的数据库;"
再调试,如果这样没错的话,说明的数据库链接配置字符串没有传过来。
------解决方案--------------------
先确定返回的是null,还是参数是null。
public string getparentName(int parentID)
{
if (parentID > 0)
{
string str1=DB.conString;
string str2=CommandType.Text;

}
else
{
return "";
}




报不报错呀


------解决方案--------------------
探讨

引用:

return Fj.Data.Mssql.SqlHelper.ExecuteScalar(DB.conString, CommandType.Text,
"select menuName from b_menu where menuId=" + parentID).ToString();

在这方法里面打个段点


我设置断点提示 当前上下文不存在c……