2011-10-31 97 views
0

我试图从访问数据库读取并将结果放入列表框中。这里是我有的代码,它一直告诉我“没有数据存在的行/列我有数据输入到名为”GroupName“的列中,并且在表”GroupNames“从Access数据库读取c#

中有一个名为”RandomNumber“的列中的数据。
db = new OleDbConnection(); 
db.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" + fileName; 
db.Open(); 

string sql = "SELECT * FROM GroupNames ORDER BY RandomNumber ASC"; 

cmd = new OleDbCommand(sql, db); 
rdr = cmd.ExecuteReader(); 

lblist.Text = (string)rdr["GroupName"]; 

回答

3

试试这个:

lblist.Items.Clear(); 
rdr = cmd.ExecuteReader(); 
while (rdr.Read()) 
{ 
    //lblist.Text += (string)rdr["GroupName"]; 
    lblist.Items.Add((string)rdr["GroupName"]); 
} 
+0

它应该是'while(rdr.Read())' – Nasreddine

+1

@Nacereddine:是的,你是对的......只是一个错字,对不起。谢谢 :) – Marco

2

您需要通过调用rdr.Read()移动阅读器到第一行

如果没有行移动到,Read()将返回false