2011-07-28 74 views
0

我:字符串參數異常,爲什麼會發生這種情況?

Dim con As New OleDbConnection(My.Resources.ConnectionString) 

// Give exception = Format of the initialization string does not conform to specification starting at index 62. 

當我替代資源的實際價值,它給也不例外:

Dim con As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\rawData.xlsx;Extended Properties=""Excel 12.0 XML;""") 

的ConnectionString的資源的價值:

<data name="ConnectionString" xml:space="preserve"> 
    <value>Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\rawData.xlsx;Extended Properties=""Excel 12.0 XML;""</value> 
</data> 

我不明白爲什麼會發生這種情況?

我想這應該連編譯過程之前已被替換..

那爲什麼給例外呢?

回答

3

在配置文件中,擴展屬性值的周圍有雙引號。嘗試刪除它們,所以你只有一個。

它與文字一起工作的原因是,在VB .NET中,雙引號將轉義引號字符,因此可以在字符串中使用而不終止字符串。這不適用於XML。

+0

愚蠢的錯誤..謝謝..解決了這個問題..! –

1

您不需要XML配置文件中的雙引號。它可以很好地替代它,因爲""正確地轉義爲單個",因爲它是一個字符串文字。

相關問題