标题:[求助]大家帮帮我看看这个错误!该问题在该论坛已经存在一个星期没有解决( ...
只看楼主
ice_fox
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2005-12-21
 问题点数:0 回复次数:7 
[求助]大家帮帮我看看这个错误!该问题在该论坛已经存在一个星期没有解决(到底有高

/zrdf”应用程序中的服务器错误。


未将对象引用设置到对象的实例。

说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。

源错误:

 
 42                    strSql="select * from functions order by functionid asc";
 43                    ds=r.GetData("functions",strSql);
 44                    for(int i=0;i<ds.Tables["functions"].Rows.Count;i++)
 45                    {
 46                             string functionname=ds.Tables["functions"].Rows[i]["functionName"].ToString();


源文件: d:\inetpub\wwwroot\zrdf\webform1.aspx.cs : 44

堆栈跟踪:

 
[NullReferenceException: 未将对象引用设置到对象的实例。]
   zrdf.WebForm1.Page_Load(Object sender, EventArgs e) in d:\inetpub\wwwroot\zrdf\webform1.aspx.cs:44
   System.Web.UI.Control.OnLoad(EventArgs e) +67
   System.Web.UI.Control.LoadRecursive() +35
   System.Web.UI.Page.ProcessRequestMain() +753


版本信息: Microsoft .NET Framework 版本:1.1.4322.573; ASP.NET 版本:1.1.4322.573

代码如下:

using System;

using System.Collections;

using System.ComponentModel;

using System.Data;

using System.Data.SqlClient;//访问SQL Server 数据库

using System.Drawing;

using System.Web;

using System.Web.SessionState;

using System.Web.UI;

using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls;

using Microsoft.Web.UI.WebControls;

using System.IO;

using System.Web.Security;

namespace zrdf

{

/// <summary>

/// WebForm1 的摘要说明。

/// </summary>

public class WebForm1 : System.Web.UI.Page

{

protected System.Web.UI.WebControls.Label Label1;

protected System.Web.UI.WebControls.Label Label2;

protected Microsoft.Web.UI.WebControls.TreeView TreeViewList;

protected Microsoft.Web.UI.WebControls.TreeView TreeView1;

private DataSet ds;//缓存从数据库检索的数据

private Record r=new Record();//访问数据库

TreeNode treeFirstLevel= new TreeNode();//树形节点

TreeNode treeSecondLevel= new TreeNode();

TreeNode treeThirdLevel= new TreeNode();

private void Page_Load(object sender, System.EventArgs e)

{

if(Session["username"]==null)

{

Response.Write("请重新登录系统");

return;

}

string strSql;//SQL语句

Label2.Text= Session["username"].ToString();

strSql="select * from functions order by functionid asc";

ds=r.GetData("functions",strSql);

for(int i=0;i<ds.Tables["functions"].Rows.Count;i++)

{

string functionname=ds.Tables["functions"].Rows[i]["functionName"].ToString();

string functionid=ds.Tables["functions"].Rows[i]["functionID"].ToString();

string filename=ds.Tables["functions"].Rows[i]["FileName"].ToString();

if(functionid.Length==2)

{

treeFirstLevel=new TreeNode();

treeFirstLevel.ID=functionid;

treeFirstLevel.Text=functionname;

treeFirstLevel.DefaultStyle.CssText="font-size:12;font-family:宋体";

treeFirstLevel.SelectedStyle.CssText="font-size:12;font-family:宋体";

TreeViewList.Nodes.Add(treeFirstLevel);

}

else if(functionid.Length==4)

{

treeSecondLevel=new TreeNode();

treeSecondLevel.ID=functionid;

treeSecondLevel.Text=functionname;

treeSecondLevel.NavigateUrl=filename;

treeSecondLevel.Target="frmRight";

treeFirstLevel.Nodes.Add(treeSecondLevel);

}

else if(functionid.Length==6)

{

treeThirdLevel=new TreeNode();

treeThirdLevel.ID=functionid;

treeThirdLevel.NavigateUrl=filename;

treeThirdLevel.Text=functionname;

treeThirdLevel.Target="frmRight";

treeThirdLevel.DefaultStyle.CssText="font-size:12;font-family:宋体";

treeThirdLevel.SelectedStyle.CssText="font-size:12;font-family:宋体";

treeSecondLevel.Nodes.Add(treeThirdLevel);

}

}

}

#region Web 窗体设计器生成的代码

override protected void OnInit(EventArgs e)

{

//

// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。

//

InitializeComponent();

base.OnInit(e);

}

/// <summary>

/// 设计器支持所需的方法 - 不要使用代码编辑器修改

/// 此方法的内容。

/// </summary>

private void InitializeComponent()

{

this.Load += new System.EventHandler(this.Page_Load);

}

#endregion

}

}

请高手帮我看看。怎么回事 ?该怎么改?谢谢!
谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!

[此贴子已经被作者于2005-12-26 13:40:36编辑过]

搜索更多相关主题的帖子: 应用程序 服务器 center silver color 
2005-12-21 10:56
long14
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2005-7-28
得分:0 

private DataSet ds;//缓存从数据库检索的数据

在这后面加上:
DataSet ds = new DataSet();

或者直接写成一句 private DataSet ds = new DataSet();

[此贴子已经被作者于2005-12-21 13:02:12编辑过]


2005-12-21 12:59
ice_fox
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2005-12-21
得分:0 
还是不行?
按楼上哥哥说的改了不行,怎么办?高人指点。本人的数据库连接没有问题了,登陆界面已经能用了。
另外:ds=r.GetData("functions",strSql);中的getdata函数是我自己定义的函数。内容如下:
public DataSet GetData(string StrTableName,string StrSql)
{
this.StrTableName=StrTableName;
this.StrSql=StrSql;
try
{
SqlDataAdapter cmd=new SqlDataAdapter(StrSql,conn);
ds=new DataSet();
if(myTrans!=null)
{
cmd.SelectCommand.Transaction=myTrans;
}
cmd.Fill(ds,StrTableName);
}
catch(SqlException eErr)
{
SqlErrorHandler(eErr);
}
return ds;
}

“/zrdf”应用程序中的服务器错误。

未将对象引用设置到对象的实例。

说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。

源错误:

行 41: 			strSql="select * from functions order by functionid asc";
行 42: 			ds=r.GetData("functions",strSql);
行 43: 			for(int i=0;i<ds.Tables["functions"].Rows.Count;i++)
行 44: 			{
行 45: 				string functionname=ds.Tables["functions"].Rows[i]["functionName"].ToString();

源文件: d:\inetpub\wwwroot\zrdf\webform1.aspx.cs 行: 43

堆栈跟踪:

[NullReferenceException: 未将对象引用设置到对象的实例。]
   zrdf.WebForm1.Page_Load(Object sender, EventArgs e) in d:\inetpub\wwwroot\zrdf\webform1.aspx.cs:43
   System.Web.UI.Control.OnLoad(EventArgs e) +67
   System.Web.UI.Control.LoadRecursive() +35
   System.Web.UI.Page.ProcessRequestMain() +753


版本信息: Microsoft .NET Framework 版本:1.1.4322.573; ASP.NET 版本:1.1.4322.573


高人帮帮我啊,很急的!谢谢

2005-12-21 13:30
long14
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2005-7-28
得分:0 
试下定义两个ds呢 那外面一个  自定义函数里再弄一个?

2005-12-22 09:05
ice_fox
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2005-12-21
得分:0 
还是不行阿?
按楼上说的,还是不行啊
有高手吗?帮帮我啊,小弟在这先谢谢了

2005-12-22 14:44
一路孤行
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2005-10-23
得分:0 

兄弟,一句话,你想取得数据库的内容,但是你没有打开门,上面 dataAdapter的conn,你没有定义,故找不到数据库吧。所以那个dataset 里面什么内容都没有嘛,因此 ds.Tables["functions"].Rows.Count


得不到的

2005-12-23 14:24
ice_fox
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2005-12-21
得分:0 
数据库连接已经打开了
我前面已经打开了这样写的 conn.Open();
不然的话我的登陆界面不能连接上数据库。更不能登陆了
还是没有人 能帮我解决问题啊,都快一个星期了?

2005-12-26 13:28
ice_fox
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2005-12-21
得分:0 
wo找到错误了
呵呵 ~~`是我的数据库中的表错误了,漏下了一个字母,汗!

2005-12-29 08:36



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-39224-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.573549 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved