Попытка подключиться к таблице базы данных Access для получения данных, но столкнулась с трудностями
Я впервые занимался программированием баз данных, поэтому я просто создал базу данных в Access, чтобы попытаться что-то с ней сделать. База данных, которую я создал, называется "TestDatabase" на моем рабочем столе, а таблица, которую я создал внутри этой базы данных, называется "TestTable". И вот мой код:
using System;
using System.Data;
using System.Data.SqlClient;
namespace DatabaseTest
{
class Test
{
static void Main(string[] args)
{
// I don't know if my connection is correct or not. My access database is on my local desktop though
string connectionString = "Data Source = (local); Initial Catalog = TestDatabase; Integrated Security = SSPI";
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlDataReader reader = null;
SqlCommand command = new SqlCommand("SELECT * from TestTable", connection);
connection.Open();
try
{
reader = command.ExecuteReader();
}
catch (InvalidOperationException e)
{
Console.WriteLine(e.ToString());
}
// print all the data in the table
while (reader.Read())
{
Console.Write(reader[0].ToString() + ", ");
Console.Write(reader[1].ToString() + ", ");
Console.Write(reader[2].ToString() + ", ");
Console.Write(reader[3].ToString() + ", ");
Console.WriteLine(reader[4].ToString());
}
}
Console.ReadLine();
}
}
}
А вот мой стол выглядит, если интересно: (просто игрушечный пример)
ID First Name Last Name Age Friend
1 Leon Ma 18 Yes
2 Amy Jane 16 No
3 David Zhang 20 No
4 Alan Yue 19 Yes
Однако это не работает, потому что на моей консоли ничего не появляется. Что я сделал не так. Действительно нужна помощь. Благодарю.
1 ответ
Решение
Вам нужно что-то вроде следующего для подключения к БД Access
conn = new System.Data.OleDb.OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\DbPath\SomeAccessFileName.accdb")
Конфигурационный файл будет настроен так для стандартной безопасности
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\myAccessFile.accdb;
Persist Security Info=False;
Ссылка Ссылка Доступ к строкам подключения
Использование для создания объектов подключения в Code Behind
using System.Data.Odbc;
using(OleDbConnection connection = new OleDbConnection(con))
{
connection.Open();
OleDbCommand command = new OleDbCommand("SELECT * from TestTable", connection)
using(OleDbDataReader reader = command.ExecuteReader())
{
while(reader.Read())
{
Console.Write(reader[0].ToString() + ", ");
Console.Write(reader[1].ToString() + ", ");
Console.Write(reader[2].ToString() + ", ");
Console.Write(reader[3].ToString() + ", ");
Console.WriteLine(reader[4].ToString());
}
}
}