我现在写了从数据库读取数据返回成树型!但是有一个返值会出错!
private void Page_Load(object sender, System.EventArgs e)
{
initgettree(Tvwdb.Nodes,"0");
}
private void initgettree(TreeNodeCollection tnccurrent,string sparentid)
{
DataView dvw=new DataView();
TreeNode nodtemp;
string strtempid;
dvw.Table=ds.Tables["mytable"];
dvw.RowFilter="parentid='"+sparentid+"'";
foreach(DataRowView drv in dvw)
{
nodtemp = new TreeNode();
nodtemp.ID = drv["nodeid"].ToString();
nodtemp.Text = drv["nodename"].ToString();
nodtemp.NavigateUrl = drv["icon"].ToString();
//nodtemp.ImageUrl = drv["iconl"].ToString();
nodtemp.Target = "Main";
tnccurrent.Add(nodtemp);
strtempid = drv["parentid"].ToString();
//递归调用
initgettree(nodtemp.Nodes,nodtemp.ID);
}
}
在initgettree(Tvwdb.Nodes,"0");调用是会提示说:未将对象引到实例
private void Page_Load(object sender, System.EventArgs e)
{
initgettree(Tvwdb.Nodes,"0");
}
private void initgettree(TreeNodeCollection tnccurrent,string sparentid)
{
DataView dvw=new DataView();
TreeNode nodtemp;
string strtempid;
dvw.Table=ds.Tables["mytable"];
dvw.RowFilter="parentid='"+sparentid+"'";
foreach(DataRowView drv in dvw)
{
nodtemp = new TreeNode();
nodtemp.ID = drv["nodeid"].ToString();
nodtemp.Text = drv["nodename"].ToString();
nodtemp.NavigateUrl = drv["icon"].ToString();
//nodtemp.ImageUrl = drv["iconl"].ToString();
nodtemp.Target = "Main";
tnccurrent.Add(nodtemp);
strtempid = drv["parentid"].ToString();
//递归调用
initgettree(nodtemp.Nodes,nodtemp.ID);
}
}
在initgettree(Tvwdb.Nodes,"0");调用是会提示说:未将对象引到实例
解决方案 »
- 动态添加一定数量的自定义控件,进程终止!
- C# 利用正则表达式如何从一个HTML文档中抽取模板
- 出现的线问题,早了半天名查处原因拿错了?
- 关于ACCESS备份还原的问题。
- 支付宝接口集成问题,做过的请支援下~
- notifyIcon1.Icon = imageList1.Images[1]; 求这个正确的写法
- 怎样用C#关闭WORD程序???
- ASP.NET之XML:要插入的节点出自不同的文档上下文
- 在aps.net中使用COM出现的问题。
- 跪求C#高手问题,如何分析整个网页的html文件,然后把整个文件保存到本地,尤其是图片也要保存.
- Chr(13) 在C#中怎么写啊???
- 应该属于RadioButtonList属性的问题!!!
dvw.Table=ds.Tables["mytable"];
每次page_load时候,你的ds时候真正初始化了。
dvw.Table=ds.Tables["mytable"];
每次page_load时候,你的ds是否真正初始化了
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using Microsoft.Web.UI.WebControls;
using System.Configuration;
namespace study
{
/// <summary>
/// right1 的摘要说明。
/// </summary>
public class right1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Label Label2;
protected System.Web.UI.WebControls.Label Label1;
protected Microsoft.Web.UI.WebControls.TreeView Tvwdb; protected System.Data.SqlClient.SqlConnection conn;
protected System.Data.SqlClient.SqlDataAdapter ad;
protected DataSet ds;
protected string strsql;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
string str="server=localhost;database=mygps;uid=sa;pwd=123";
conn=new SqlConnection(str);
createdataset();
initgettree(Tvwdb.Nodes,"0");
}
private DataSet createdataset()
{
strsql="select * from tree_info";
ad=new SqlDataAdapter(strsql,conn);
ds=new DataSet();
ad.Fill(ds,"mytable");
return ds;
}
private void initgettree(TreeNodeCollection tnccurrent,string sparentid)
{
DataView dvw=new DataView();
TreeNode nodtemp;
string strtempid;
dvw.Table=ds.Tables["mytable"];
dvw.RowFilter="parentid='"+sparentid+"'";
foreach(DataRowView drv in dvw)
{
nodtemp = new TreeNode();
nodtemp.ID = drv["nodeid"].ToString();
nodtemp.Text = drv["nodename"].ToString();
nodtemp.NavigateUrl = drv["icon"].ToString();
//nodtemp.ImageUrl = drv["iconl"].ToString();
nodtemp.Target = "Main";
tnccurrent.Add(nodtemp);
strtempid = drv["parentid"].ToString();
//递归调用
initgettree(nodtemp.Nodes,nodtemp.ID);
}
} #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
}
}
所有程序是这样!
我有实例化dataset呀!
未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。
源错误:
行 36: conn=new SqlConnection(str);
行 37: createdataset();
行 38: initgettree(Tvwdb.Nodes,"0");
行 39: }
行 40: private DataSet createdataset()