我試圖用下面的代碼通讀OLEDB閱讀器的html文件通讀OLEDB HTML文件失敗
DataTable dTable;
string strDataSource = "";
string strDBFile = "";
long intPos = 0;
strDataSource = mstrFilePath;
dTable = new DataTable();
mCon = new System.Data.OleDb.OleDbConnection();
mCon.ConnectionString = ("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + openFileDialog1.FileName + ";Extended Properties=\"HTML Import;HDR=NO;IMEX=1\";");
if (mCon.State == ConnectionState.Closed)
{
mCon.Open(); // gettting failed here
}
dTable = mCon.GetSchema("Tables");
bSelectionChanged = true;
lstTables.Items.Clear();
foreach (DataRow DRow in dTable.Rows)
{
if (DRow["TABLE_TYPE"].ToString() == "TABLE" || DRow["TABLE_TYPE"].ToString() == "VIEW")
{
intPos = DRow["TABLE_NAME"].ToString().LastIndexOf("FilterDatabase");
lstTables.Items.Add(DRow["TABLE_NAME"]);
}
}
if (lstTables.Items.Count == 1)
{
lstTables.Visible = false;
grdSampleDataControl.Dock = DockStyle.Fill;
}
else
{
lstTables.Visible = true;
grdSampleDataControl.Dock = DockStyle.None;
}
bSelectionChanged = true;
dTable.Dispose();
mCon.Close();
openFileDialog1.Dispose();
它抵達該處失敗室內用異常\
的Microsoft Office Access數據庫引擎無法打開或寫入文件''。它已經由另一個用戶專門打開,或者您需要查看和寫入其數據的權限。
但文件沒有打開?
編輯
上進行調試,當拋出異常的mCon.Open()
,如果我按F10編譯器移動到下一個語句,併成功地運行PROGRAMM。爲什麼這樣呢?
它可能是'openFileDialog1',可能需要處理? –
@FurkanEkinci我不打開任何地方使用'openFileDialog1' ..我使用'openFileDialog1'來只讀文件名。文件不在任何地方打開 –
是否確定存取也關閉,不是文件? –