在oledb中執行此查詢時出現IErrorInfo錯誤,有人可以幫助我嗎?Excel文件上的C#查詢oledb IErrorInfo.GetDescription失敗
"Select [Indirizzo] from [Mappatura$] Where [Cliente]='"+ Cliente[0].ToString()+"' AND [Soc]='"+Cliente[1].ToString()+"'"
在oledb中執行此查詢時出現IErrorInfo錯誤,有人可以幫助我嗎?Excel文件上的C#查詢oledb IErrorInfo.GetDescription失敗
"Select [Indirizzo] from [Mappatura$] Where [Cliente]='"+ Cliente[0].ToString()+"' AND [Soc]='"+Cliente[1].ToString()+"'"
您正在使用Access Reversed符號(「$」),這是導致問題的原因。檢查此鏈接: https://support.office.com/en-us/article/Access-2007-reserved-words-and-symbols-e33eb3a9-8baa-4335-9f57-da237c63eabe?CorrelationId=05072bb5-da4f-40d0-8664-dd50ad5dbb6b&ui=en-US&rs=en-US&ad=US#__toc272229038
該查詢在excel文件上沒有使用$後表格名稱將不起作用 –
嘗試添加範圍。檢查這一個:http://www.aspsnippets.com/Articles/Read-Excel-file-using-OLEDB-Data-Provider-in-C-Net.aspx – Gnqz
「provider = Microsoft.ACE.OLEDB.12.0; Data Source ='「+ FileName +'';擴展屬性='Excel 12.0宏; HDR = YES; IMEX = 1'」這是我的連接字符串,並且對其他查詢正常問題在於這個單個查詢 –
public DataTable GetDatas(string QueryString, string SheetName)
{
DataTable dt = new DataTable();
try
{
System.Data.OleDb.OleDbConnection MyConnection;
System.Data.DataSet DtSet;
System.Data.OleDb.OleDbDataAdapter MyCommand;
MyConnection = new System.Data.OleDb.OleDbConnection("provider=Microsoft.ACE.OLEDB.12.0;Data Source='" + FileName + "';Extended Properties='Excel 12.0;HDR=YES;IMEX=1'");
MyCommand = new System.Data.OleDb.OleDbDataAdapter(QueryString, MyConnection);
MyCommand.TableMappings.Add("Table", SheetName);
DtSet = new System.Data.DataSet();
MyCommand.Fill(DtSet);
dt = DtSet.Tables[0];
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
return dt;
}
什麼是錯誤? – Gnqz
ierrorinfo.getdescription failed E_FAIL(0x80004005) –