1. 代码看起来没有错啊,看看连接有问题. 这是一个在我计算机上通过的.string strConn, strSQL;
strConn = "Provider=SQLOLEDB;Data Source=(local)\\NetSDK;" + 
          "Initial Catalog=Northwind;Trusted_Connection=Yes;";
OleDbConnection cn = new OleDbConnection(strConn);
cn.Open();
strSQL = "SELECT CustomerID, CompanyName FROM Customers";
OleDbCommand cmd = new OleDbCommand(strSQL, cn);
OleDbDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
    Console.WriteLine(rdr["CustomerID"] + " – " + rdr["CompanyName"]);
rdr.Close();2.>怎么用代码实现树状。多谢,我刚学,几天也没完成
参考:
如何在C#中快速实现数据库树形结构 
http://www.aspxcn.com/dotnetbbs/View.aspx?fbId=23&Id=57150

解决方案 »

  1.   

    1.好像没有错误!你看看是不是连接数据库的连接字符错了!
    2。http://www.aspxcn.com中一篇文章写过!
      

  2.   

    表-->树的转换:
    ========================
    数据库表设计
    必须包含下列字段:
    字段名 字段类型 字段说明  PrimaryKey
    ==========================================
    NodeID varchar 节点标识   Yes
    NodeName varchar  节点显示名
    ParentID varchar 父节点标识
    ....//节点信息类
    public class NodeInfo
    {
    public string NodeID;
    public string NodeName;
    public string ParentID;
    public string PrivateData;
    ///...更多的属性定义
    public NodeInfo()
    {
    }
    }public class UserTool
    {
    public static void Load(DataTable dt,ref TreeView tv)
    {
    Hashtable ht = new Hashtable();
    int iCount = dt.Rows.Count;
    DataRow dr;
    NodeInfo nodeInfo;
    string [] keyArray = new string[iCount];//保存哈西表中的键值
    //创建所有树节点,保存在哈西表中
    for(int i=0;i<iCount;i++)
    {
    nodeInfo = new NodeInfo(); dr = dt.Rows[i];
    nodeInfo.NodeID = dr["NodeID"].ToString();
    nodeInfo.NodeName = dr["NodeName"].ToString();
    nodeInfo.ParentID = dr["ParentID"].ToString();
    nodeInfo.PrivateData = dr["ParentID"].ToString();
    ///...更多的字段处理

    keyArray[i] = nodeInfo.NodeID;
    TreeNode tn = new TreeNode(nodeInfo.NodeName); //创建节点
    tn.Tag = nodeInfo; //设置节点数据区
    ht.Add(nodeInfo.NodeID,tn);
    }
    //建立节点关系,并将根节点加入到TreeView中
    for(int i=0;i<iCount;i++)
    {
    TreeNode tn = (TreeNode)ht[keyArray[i]];
    nodeInfo = (NodeInfo)tn.Tag;
    if(nodeInfo.ParentID == null || nodeInfo.ParentID == "") 
    tv.Nodes.Add(tn);//这是根节点
    else //这是子节点
    {
    TreeNode tnd1 = (TreeNode)ht[nodeInfo.ParentID];//找父节点对象,注意:可能找不到父节点对象
    if(tnd1!=null)
    tnd1.Nodes.Add(tn);//找到父节点:把该节点加到父节点的子节点列表中
    else
    {
    //未找到父节点:或把它设为根节点,或抛弃,你看着办了
    //tv.Nodes.Add(tn); //设为根节点
    }
    }
    }
    }
    }