2010-11-22 6 views
0

私はSQL Server Compact Editionデータベースファイルを持っており、WindowsアプリケーションのTreeViewコントロールにノードとしてすべてのテーブルを表示したいと考えています。TreeViewのノードを取り込む方法は? (C#winforms)

残念ながら、私は方法がわかりません。

これは私が今持っているものです。

private void PopulateTreeView() 
{ 
    SqlCeCommand cmd = new SqlCeCommand(); 
    try 
    { 
     using (SqlCeConnection conn = new SqlCeConnection("Data Source=" + connString)) 
     {    
      cmd.CommandType = CommandType.Text; 
      cmd.CommandText = "SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES"; 
      conn.Open(); 
      cmd.Connection = conn; 
      cmd.ExecuteNonQuery(); 
      // Don't know what's next... 
     } 
    } 
    catch (Exception x) 
    { 
     MessageBox.Show(x.GetBaseException().ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); 
    } 
    finally 
    { 
     cmd.Dispose(); 
    } 
} 

答えて

3

何か

var tv = new TreeView(); 
using(var conn = new SqlCeConnection("Data Source=" + connString)) 
using(var cmd = new SqlCeCommand(conn,"SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES")) 
{ 
    conn.Open(); 
    if(conn.State != ConnectionStatus.Open) return; 
    cmd.CommandType=CommandType.Text; 
    using(var rdr = cmd.ExecuteReader()) 
    { 
     while(rdr.Read()) 
     { 
     tv.Nodes.Add(new TreeNode(rdr.GetString(0)); 
     } 
    } 
} 

ようにあなたは、ノードの作成と手の込んだ得ることができます。あなたが望むものを見るために様々なコンストラクタを見てください。

+0

「TreeViewNode」は何ですか? – yonan2236

+0

申し訳ありませんTreeNode。私はそれを使ってからしばらくしています! ;) – WOPR

関連する問題