2017-08-28 26 views
0

有助於。 在我的代碼中出現以下錯誤;初始化字符串的格式不符合從索引89開始的規格

constr = string.Format(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Users\\DAKTARI\\Desktop\\smarttable.xls;Extended Properties=''Excel 12.0 Xml;HDR=YES;''", FilePath); 

第26行:Econ = new OleDbConnection(constr);

好心幫助

回答

0

您使用string.Format,但從來沒有在任何地方使用的FilePath變量在該字符串。您需要使用{0}來設置它,而不是使用{0}--因爲它是位置爲0的參數(它是您的第一個也是唯一的參數)。

但是,該錯誤是由於您在Extended Properties部分中使用了雙重''而引起的,因此您只需要一個'

請嘗試以下方法:

constr = string.Format(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='Excel 12.0 Xml;HDR=YES;'", FilePath); 

string.Format一些更explenations:

當您使用string.Format,你傳遞字符串參數與{0}{1}{2}更換等等。

因此,例如,

string.Format("Hello {0}, how are you {1}?", "John", "today"); 

會導致一個字符串:

"Hello John, how are you today?" 
+0

感謝@ Koby..i已刪除了雙引號,改變了連接字符串構造=的String.format(@」 Provider = Microsoft.Jet.OLEDB.4.0; Data Source = {0}; Extended Properties ='Excel 12.0 Xml; HDR = YES;'「,FilePath);但我現在得到這個錯誤;無法找到可安裝的ISAM –

+0

@johnkc這是一個完整的其他問題,應作爲新問題發佈。請接受我的回答,並參考以下文章:https://support.microsoft.com/en-us/help/209805/you-receive-a-could-not-find-installable-isam-error-message-或者,一些網絡連接。如果你仍然有問題,請發佈一個新問題,並在此處鏈接到該問題。 –

+0

Thanks @ Koby..would你好心給我一個代碼,簡單地從excel導入數據到數據庫表使用asp.net和c#..這一個給我頭痛..幷包括我的web.config代碼也.. 。 –

相關問題