我以前做过这件事,但对于我的生活,我无法记住这是如何运作的。
我有一个数据库,其中有一堆行,其中包含名称和ID号等数据。我需要做的是从数据库中的名称填充树视图。我正在遇到一个问题,只是让读者阅读数据库中的多行。它似乎只是读取第一行而不是后续行。实际任务类似于以下内容:
对于数据库中的每一行,将父节点添加到树视图,其中名称为= to(reader[4].ToString()
)。这是关于它的。目前我所要做的就是让它弹出一个消息框,显示它正在读取多行。
请问我错过了什么让这个工作?
SqlCeConnection conn = null;
try
{
using (conn = new SqlCeConnection("Data Source =" + ConfigurationFile + "; Password =*********"))
{
conn.Open();
SqlCeCommand cmd = conn.CreateCommand();
cmd.CommandText = "select * from t_mainprofiles";
cmd.ExecuteNonQuery();
var reader = cmd.ExecuteReader();
while (reader.Read())
{
ID = (Convert.ToInt32(reader[1]));
profileID = (Convert.ToInt32(reader[2]));
profileNAME = (reader[4].ToString().Trim());
profileLOC = (reader[5].ToString().Trim());
profileCHILD = (reader[6].ToString().Trim());
}
MessageBox.Show(profileNAME);
reader.Close();
}
}
catch(Exception error)
{
MessageBox.Show(""+error);
System.Diagnostics.Process.GetCurrentProcess().Kill();
}
finally
{
conn.Close();
}
答案 0 :(得分:1)
尝试删除行cmd.ExecuteNonQuery();
以下是MSDN的一个示例 http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldatareader.read(v=vs.110).aspx