2011-11-30 46 views
0

已解決:正在從具有html編碼的GridView中讀取數據。該解決方案是以下... 昏暗Sht_Text的String = HttpUtility.HtmlDecode(row.Cells.Item(0)。文本)無法在參數化查詢中跳過撇號/特殊字符

我想不必逃避撇號和其它特殊字符,以防止我的字符串變量通過使用OleDbConnection的參數化查詢。我有所有的參數在同一順序,插入工作,它只是不維護字符。我不斷收到那些討厭的html代碼。任何幫助,將不勝感激。我試圖從網頁插入Access數據庫。正如我所說的,它的工作,只是不是特殊字符。

下面的代碼:

Dim pConn As New OleDb.OleDbConnection pConn = New OleDbConnection(cb.ConnectionString) 
Dim SqlString As String = "INSERT INTO Strings (Mlt_String_ID, Lng_ID, Strg_Name, Sht_Text, Lng_Text, Alt_Text) Values (?, ?, ?, ?, ?, ?)" 

Using cmd As New OleDbCommand(SqlString, pConn)  
    cmd.CommandType = CommandType.Text  
    cmd.Parameters.AddWithValue("@Mlt_String_ID", Mlt_String_ID) 
    cmd.Parameters.AddWithValue("@Lng_ID", Lng_ID) 
    cmd.Parameters.AddWithValue("@Strg_Name", Strg_Name) 
    cmd.Parameters.AddWithValue("@Sht_Text", Sht_Text) 
    cmd.Parameters.AddWithValue("@Lng_Text", Lng_Text) 
    cmd.Parameters.AddWithValue("@Alt_Text", Alt_Text) 

    pConn.Open() 
    cmd.ExecuteNonQuery() 
    pConn.Close() 
End Using 

更新例子:這是直接從後插入的訪問表。

String_ID String_Name Long_Text Short_Text Alternate_Text Multi_String_ID Lang 

993  U_°C_fr °C °C  °C  651    fr 

652  U_°C_jp  °C   °C   °C    651    jp 

651  U_°C   °C   °C   °C    651    en 

jp和en記錄已經存在,fr記錄的插入爲表示度符號的小圓圈推送html代碼。也適用於所有其他特殊字符。

+2

你說你「不斷收到那些討厭的html代碼」 - 你得到的錯誤是什麼?你如何運行這個VB.NET代碼? (因爲聽起來好像有一個網站/服務器涉及到某個地方,如果你得到與HTML相關的問題。) – bouteillebleu

+0

你能提供一個你正在談論的html代碼的例子嗎?插入語句的結果示例將有助於進行故障排除。 – JOpuckman

+0

請參閱更新後的帖子。 – htm11h

回答

0

已解決:數據正在從具有html編碼的Gridview讀取。解決方案如下... Dim Sht_Text As String = HttpUtility.HtmlDecode(row.Cells.Item(0).Text)