2010-11-22 4 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

관련 문제