首页 > 解决方案 > 无法从访问数据库中获取数据

问题描述

我是 C# 新手,当我尝试连接访问数据库时,我得到一个空数据库和空表,尽管它们有数据。

static void Main(string[] args)
{
    String connectioString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\Documents\Documents\School.accdb";
    OleDbConnection MyConn = new OleDbConnection(connectioString);
    MyConn.Open();
    OleDbDataReader reader = null;
    OleDbCommand command = new OleDbCommand("SELECT * FROM Students",MyConn);
    reader = command.ExecuteReader();

    Console.Out.WriteLine(reader["Id_fk"].ToString());

标签: c#databasems-accessoledb

解决方案


从该方法的文档中OleDbDataReader.Read()

OleDbDataReader的默认位置在第一条记录之前。因此,您必须调用Read才能开始访问任何数据。

因此,您需要像这样访问结果行的属性:

while (reader.Read())
    Console.Out.WriteLine(reader["Id_fk"].ToString());

推荐阅读