c# - 无法从访问数据库中获取数据
问题描述
我是 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());
解决方案
从该方法的文档中OleDbDataReader.Read()
:
OleDbDataReader的默认位置在第一条记录之前。因此,您必须调用Read才能开始访问任何数据。
因此,您需要像这样访问结果行的属性:
while (reader.Read())
Console.Out.WriteLine(reader["Id_fk"].ToString());