In this post, I will show you how I created a program to extract and add data to an Access database. Before we get started, you can see my current specifications below:
- Windows 10 (64-Bit)
- Office 365 (64-Bit)
- Microsoft Access Database Engine 2016 Redistributable
Getting values from a table:
Using System.Data.OleDB;
//Create a new list to hold all the values
List<String> values = new List<String>();
//Build the connection string and SQL string
string connectionString = @$"Provider=Microsoft.ACE.OLEDB;Data Source = C:\Path\To\Access.accdb";
string sqlString = "SELECT * FROM Table_Name";
//Create a new connection to the Access file
using (OleDbConnection connection = new OleDbConnection(connectionString)){
//Creating a new command
OleDbCommand command = new OleDbCommand(sqlString, connection);
//Try/catch to catch errors, DON'T DO THIS IN SERIOUS PROJECTS!
try{
//Opening the connection and reading the data
connection.Open();
using(OleDbDataReader reader = command.ExecuteReader()){
while(reader.Read()){
//Adding the value to the values list
values.Add(reader["Field_Name"].ToString());
}
}
}catch{ }
//Closing the connection
connection.Close();
}
//Sorting the list in ascending order
values.Sort();
Adding a new row to the table:
Using System.Data.OleDb;
//Building the connection string and SQL string
string connectionString = @$"Provider=Microsoft.ACE.OLEDB.12.0;Data Source = C:\Path\To\Access.accdb";
string sqlString = $"INSERT INTO Table_Name(Field_Name1, Field_Name2) VALUES ('{Field_Value1}','{Field_Value2}')";
//Creating a new connection to the Access file
using (OleDbConnection connection = new OleDbConnection(connectionString))
{
//Build a new command
using(OleDbCommand command = new OleDbCommand(sqlString, connection))
{
//Open the database connection and execute the write
connection.Open();
command.ExecuteReader();
}
//Close the database connection
connection.Close();
}
Enjoy!