使用类从Access数据库中选择数据

时间:2014-05-12 06:58:16

标签: c# ms-access

我尝试从Access数据库中检索数据。我在一个类里写了函数,我得到了这个错误。所以,请任何人知道这个问题的答案,请让我知道如何解决它。下面的函数是在类中编写的,我需要知道如何使用这个函数向listview控件显示数据,以及如何通过load事件调用它。我试图解决这么多时间,但我仍然没有得到解决方案。

public List<String> displayRoom()
{
    List<String> rooms = new List<String>();

    String query = "select * from room";
    cmd = new OleDbCommand(query, connect);
    reader = cmd.ExecuteReader();
    while(reader.Read()){
        rooms.Add(reader["buyer_name"].ToString());
        rooms.Add(reader["room_type"].ToString());
        rooms.Add(reader["date_from"].ToString());
        rooms.Add(reader["date_to"].ToString());
    }
    return rooms;
}

2 个答案:

答案 0 :(得分:0)

如果你能从数据库中正确读取数据,那么只需在表格加载或表格类的constructor中写下面一行:

//here dbClass is an instance of your database class
List<String> rooms = dbClass.displayRoom(); //though `get/load rooms()` would be more appropriate
foreach (string s in rooms)
  {
    ListViewItem lv=new ListViewItem(s);
    listView1.Items.Add(lv); //listView1 is the ListView instance in your form
  }

修改

如果您的Form名称为Form,则可以Form1_Load(object sender, EventArgs e)public Form1()构造函数(调用InitializeComponent之后),您可以将上述内容设置为{{1}}代码。

答案 1 :(得分:-2)

ExecuteReader需要打开连接:

connect.Open();

上方插入
reader = cmd.ExecuteReader();

完成后关闭连接

}
connect.Close();
return rooms;

有关详细信息,请参阅MSDN