我已將我的訪問數據庫連接到我的C#項目。我在數據庫中有1760行,當我嘗試在C#項目中將這些行打印到datagridview時,它給了我一個錯誤,指出程序無法再打開tables.also,它始終不會出現此錯誤。有時它運行正常,完全沒有錯誤。我已經搜索並尋求幫助來解決這個問題,但我陷入了死衚衕,我甚至不明白爲什麼它會給出這個錯誤;我已經調試過千次代碼,但無法看到問題。ms訪問數據庫和C#:無法打開表
我已經把我的程序代碼和錯誤信息的屏幕截圖。
edataGridView1.Rows.Clear();
OleDbConnection c = new OleDbConnection();
c.ConnectionString = "Provider=Microsoft.Ace.Oledb.12.0;Data Source=" + Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\Database.accdb";
using (OleDbCommand cmd = new OleDbCommand(" SELECT * from omed", c))
{
c.Open();
OleDbDataReader Reader = cmd.ExecuteReader();
while (Reader.Read())
{
DataGridViewRow row = new DataGridViewRow();
row.CreateCells(dataGridView1); // this line was missing
row.Cells[0].Value = Reader["ID"].ToString();
row.Cells[1].Value = Reader["CELL"].ToString();
row.Cells[2].Value = Reader["ncc"].ToString();
row.Cells[3].Value = Reader["bcchno"].ToString();
dataGridView1.Rows.Add(row);
for (int i = 0; i < 31; i++)
{
row.Cells[i * 3 + 4].Value = Reader["n_cell_" + i].ToString();
using (OleDbCommand cmd0 = new OleDbCommand(" SELECT * from omed WHERE CELL LIKE '" + Reader["n_cell_" + i].ToString() + "'", c))
{
OleDbDataReader Reader0 = cmd0.ExecuteReader();
int counter = 0;
while (Reader0.Read())
{
row.Cells[i * 3 + 5].Value = Reader0["ncc"].ToString();
row.Cells[i * 3 + 6].Value = Reader0["bcchno"].ToString();
}
}
}
}
}
c.Close();