ツリービュー内の1つの親の子孫しか追加できない理由がわかりました。私はそれが私が忘れているシンプルなものだと確信していますが、私は少し困惑しています。私はループの周りに**を置くが、私は問題を抱えているが、そこに何か問題がある場合に備えて、残りのコードを含めた。データベースの要素をツリーに追加するネストされたループC#
コード:
string connStr = @"Provider=Microsoft.ACE.OLEDB.12.0; Data Source=PartsTree.accdb"; //2007 db format
//string connStr = @"Provider=Microsoft.JET.OLEDB.4.0; Data Source=PartsTree.accdb"; //2003 db format
try
{
using (OleDbConnection dbConn = new OleDbConnection(connStr))
{
string queryString = "SELECT ID, parent_ID, description FROM Parts;"; //Note two semicolons
dbConn.Open();
OleDbCommand dbCmd = dbConn.CreateCommand();
dbCmd.CommandText = queryString;
OleDbDataReader rdr = dbCmd.ExecuteReader();
int numberColumns = rdr.FieldCount; // How many columns are there in the DB
for (int x = 0; x < numberColumns; x++)
{
treeView1.Nodes.Add(rdr.GetName(x)); // Add a parent node to the tree for each column
}
**for (int y = 0; y <= numberColumns; y++)
{
while (rdr.Read())
{
string childData = rdr[y].ToString();
treeView1.Nodes[y].Nodes.Add(childData);
}
}**
rdr.Close();
//while (rdr.Read())
//{
// string blah = rdr[2].ToString();
// treeView1.Nodes[0].Nodes.Add(blah);
// }
// rdr.Close();
dbConn.Close();
}
}
catch (OleDbException y)
{
Console.Error.WriteLine("Error: Failed to create a database connection. \n{0}", y.Message);
}
さてさて、私は、forループ/しばらくの周りに切り替えることで、この作業を取得するために管理しました。ありがとう!!! –