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代码。也适用于所有其他特殊字符。
你说你“不断收到那些讨厌的html代码” - 你得到的错误是什么?你如何运行这个VB.NET代码? (因为听起来好像有一个网站/服务器涉及到某个地方,如果你得到与HTML相关的问题。) – bouteillebleu
你能提供一个你正在谈论的html代码的例子吗?插入语句的结果示例将有助于进行故障排除。 – JOpuckman
请参阅更新后的帖子。 – htm11h