【问题标题】:Select data from access database using class [closed]使用类从访问数据库中选择数据[关闭]
【发布时间】:2014-05-12 15:31:09
【问题描述】:

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

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;
}

【问题讨论】:

  • 您遇到的错误是什么?给我们更多信息!
  • 错误 1 ​​无法将类型“System.Collections.Generic.List”隐式转换为“System.Windows.Forms.ListView”这是我遇到的错误
  • 您能否向我们展示您将列表数据分配给列表视图的语句?
  • @Matthijs 你的意思是表单加载事件吗???
  • 您必须有某种排序分配语句将您检索到的数据分配给 ListView;我对你所拥有的最好的猜测是:ListView = displayRoom();

标签: c# ms-access


【解决方案1】:

如果您可以正确地从数据库中读取数据,那么只需在表单加载或表单类的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 之后),您可以输入上述代码。

【讨论】:

  • 你能用我的完整代码解释一下上面的代码吗?它是数据库类中的一个函数,我可以插入类文件的所有数据吗
  • 我可以使用上面的代码。但我的函数放在一个类上,所以我需要知道如何将它调用到表单加载中
  • 如果你从数据库中读取的类名是DatabaseClass,在表单加载方法中创建一个实例DatabaseClass dbClass=new DatabaseClass;,然后使用上面的代码。
【解决方案2】:

ExecuteReader 需要一个打开的连接:

connect.Open();

在上面插入

reader = cmd.ExecuteReader();

完成后关闭连接

}
connect.Close();
return rooms;

请参阅MSDN 了解更多信息...

【讨论】:

  • 如果你告诉他连接,它也应该被关闭。也许是 Using 语句?
  • 但这并不能回答他的问题;如果您查看他在 cmets 中提供的错误。你也不能打开命令,你应该打开一个连接,在这种情况下是“连接”
  • 原帖中未提供该错误,但后来添加了....
猜你喜欢
  • 1970-01-01
  • 2013-12-05
  • 2011-10-25
  • 1970-01-01
  • 1970-01-01
  • 2012-04-18
  • 2012-03-22
  • 1970-01-01
  • 2012-05-31
相关资源
最近更新 更多