Loading Access DB Table to Datatable

2020-02-06 01:00发布

问题:

I have a database in .ACCDB format with some tables.

I'm successfully loading it into an OleDbDataReader with the following code:

string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;data source=C:\\marcelo.accdb";

OleDbConnection conn = new OleDbConnection(connectionString);

string sql = "SELECT * FROM Clientes";

OleDbCommand cmd = new OleDbCommand(sql, conn);

conn.Open();

OleDbDataReader reader;

reader = cmd.ExecuteReader();

I'd like to load the table "clientes" to a datatable instead. How should I do it ?

回答1:

string connString = 
    "Provider=Microsoft.ACE.OLEDB.12.0;data source=C:\\marcelo.accdb";

DataTable results = new DataTable();

using(OleDbConnection conn = new OleDbConnection(connString))
{
    OleDbCommand cmd = new OleDbCommand("SELECT * FROM Clientes", conn);

    conn.Open();

    OleDbDataAdapter adapter = new OleDbDataAdapter(cmd);

    adapter.Fill(results);
}