我在一个类的不同方法中传递一个dataset,可是总是显示错误信息“未将对象引用设置到对象的实例”,请问应该怎样写才对?非常感谢!下面是程序:public class EleManager : System.ComponentModel.Component
{
............ private DataSet dataS;
public void showTree()
{
bool showFlag=false;
SqlConnection CN = new SqlConnection();
firstNodeCode=""; try
{
CN.ConnectionString=System.Configuration.ConfigurationSettings.AppSettings.Get("Dbpath");;
CN.Open();
firstNodeCode="a003"; SqlDataAdapter adp = new SqlDataAdapter("SELECT EleTree.EleNode, EleTree.EleCode, EleTree.EleParCode,Element.EleName FROM EleTree INNER JOIN Element ON EleTree.EleCode = Element.EleCode WHERE (Element.OrgCode = '"+orgCode+"') ORDER BY EleTree.EleNode",CN); adp.Fill(dataS);//对dataS赋值 }
catch (Exception err1)
{
errInfo.Text+=err1.Message;
errInfo.Text+=err1.Source;
}
finally
{
CN.Close();
}
AddTree(firstNodeCode, (TreeNode)null);
TreeView1.Visible = true;
} private void AddTree(string ParentID,TreeNode pNode)
{
DataSet ds=(DataSet)dataS;
DataView dvTree = new DataView(ds.Tables[0]); //错误:未将对象引用设置到对象的实例 dvTree.RowFilter = "[EleParCode] = " + "'"+ParentID+"'"; foreach(DataRowView Row in dvTree)
{
TreeNode Node=new TreeNode() ;
if(pNode == null)
{
Node.Text = Row["EleName"].ToString();
TreeView1.Nodes.Add(Node);
Node.Expanded=true;
AddTree(Row["EleCode"].ToString(), Node);
}
else
{
Node.Text = Row["EleName"].ToString();
pNode.Nodes.Add(Node);
Node.Expanded = true;
AddTree(Row["EleCode"].ToString(),Node);
}
}
}
...............
}
{
............ private DataSet dataS;
public void showTree()
{
bool showFlag=false;
SqlConnection CN = new SqlConnection();
firstNodeCode=""; try
{
CN.ConnectionString=System.Configuration.ConfigurationSettings.AppSettings.Get("Dbpath");;
CN.Open();
firstNodeCode="a003"; SqlDataAdapter adp = new SqlDataAdapter("SELECT EleTree.EleNode, EleTree.EleCode, EleTree.EleParCode,Element.EleName FROM EleTree INNER JOIN Element ON EleTree.EleCode = Element.EleCode WHERE (Element.OrgCode = '"+orgCode+"') ORDER BY EleTree.EleNode",CN); adp.Fill(dataS);//对dataS赋值 }
catch (Exception err1)
{
errInfo.Text+=err1.Message;
errInfo.Text+=err1.Source;
}
finally
{
CN.Close();
}
AddTree(firstNodeCode, (TreeNode)null);
TreeView1.Visible = true;
} private void AddTree(string ParentID,TreeNode pNode)
{
DataSet ds=(DataSet)dataS;
DataView dvTree = new DataView(ds.Tables[0]); //错误:未将对象引用设置到对象的实例 dvTree.RowFilter = "[EleParCode] = " + "'"+ParentID+"'"; foreach(DataRowView Row in dvTree)
{
TreeNode Node=new TreeNode() ;
if(pNode == null)
{
Node.Text = Row["EleName"].ToString();
TreeView1.Nodes.Add(Node);
Node.Expanded=true;
AddTree(Row["EleCode"].ToString(), Node);
}
else
{
Node.Text = Row["EleName"].ToString();
pNode.Nodes.Add(Node);
Node.Expanded = true;
AddTree(Row["EleCode"].ToString(),Node);
}
}
}
...............
}
解决方案 »
- 如何在webservice的一个方法中执行一个带参数的url,类似Server.Execute
- Jquery post方法 字符串被截断
- 我在GridView里用hyperlinkfield做了个超链接,现要做权限问题,当n=1时显示链接,N=0时不显示,这个应如何实现,谢谢
- [菜鸟求助]做新闻系统时添加一条新闻,应该怎么更新数据库??
- 多文件上传问题:有一个File和input文本框,对应文件说明,如何实现,提交后如何获得input文本的值。
- BS模式自定义的DataSet是否没必要序列化?
- 如何返回客户端生成的页面内容
- 变量定义在IF...ENDIF里面,在IF后面的使用此变量的语句提示"变量未定义".
- 请问如何解决对网页内容分页的问题!!真是急死了`````
- 非常难过.......
- 怎么得到文本框中当前被选中的文字?
- 动态包含文件问题
改成:
DataView dvTree = ds.Tables[0].DefaultView;
看看
private void AddTree(string ParentID,TreeNode pNode)
{
//DataSet ds=(DataSet)dataS;
//DataView dvTree = new DataView(ds.Tables[0]); //错误:未将对象引用设置到对象的实例 DataView dvTree = dataS.Tables[0].DefaultView;
dvTree.RowFilter = "[EleParCode] = " + "'"+ParentID+"'"; foreach(DataRowView Row in dvTree)
{
TreeNode Node=new TreeNode() ;
if(pNode == null)
{
Node.Text = Row["EleName"].ToString();
TreeView1.Nodes.Add(Node);
Node.Expanded=true;
AddTree(Row["EleCode"].ToString(), Node);
}
else
{
Node.Text = Row["EleName"].ToString();
pNode.Nodes.Add(Node);
Node.Expanded = true;
AddTree(Row["EleCode"].ToString(),Node);
}
}