我有一個關於通過ms訪問數據庫連接的作業。C#數據庫連接
我準備我的數據庫並將其保存爲dbMert並把它調試/ bin中
這是我用來連接數據庫CustomerDatabase類:
static class CustomerDatabase
{
static string connectionstring = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=dbMert.mdb";
static OleDbConnection connection = null;
static OleDbCommand command = null;
public static void ConnectToDatabase()
{
if (connection == null)
{
connection = new OleDbConnection(connectionstring);
command = new OleDbCommand();
command.Connection = connection;
command.CommandText = "select * from Customer";
}
}
public static DataTable executeSelect(string sql)
{
ConnectToDatabase();
DataTable dt = null;
dt = new DataTable();
command.CommandText = sql;
OpenConnection();
OleDbDataReader datareader = command.ExecuteReader();
dt.Load(datareader);
datareader.Close();
CloseConnection();
return dt;
}
public static void OpenConnection()
{
try
{
if (connection != null)
{
connection.Open();
}
}
catch (Exception ex)
{
}
}
public static void CloseConnection()
{
if (connection != null)
{
connection.Close();
}
}
}
}
形式:在構造函數中我嘗試連接數據庫
public Form1()
{
InitializeComponent();
CustomerDatabase.ConnectToDatabase();
}
and in form's loa迪試圖把元組的DataGridView但沒有任何反應:S不管其他事情(如不保持一個連接開放,使用using
報表等),你沒有連接您的新裝入DataTable
到
private void Form1_Load(object sender, EventArgs e)
{
string sql1 = "select * from Customer";
DataTable dt = CustomerDatabase.executeSelect(sql1);
}
對不起,但沒有任何更改:S – snnlaynnkrdsm
沒有任何與代碼worng。 – snnlaynnkrdsm
@「Provider = Microsoft.ACE.OLEDB.4.0; Data Source = dbMert.mdb」;但我認爲我必須安裝oledb 4.0,因爲實際問題錯誤是當我嘗試調試「oledb 4.0未在本地計算機上註冊」時 – snnlaynnkrdsm