参数查询不工作逃避撇号
问题描述:
我想通过使用带有OleDbConnection的参数化查询来避免在我的字符串变量中逃脱撇号,但它不工作。任何帮助,将不胜感激。我试图插入到Access数据库,我不断收到那些麻烦的HTML代码。参数查询不工作逃避撇号
任何hep将不胜感激。
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 (@Mlt_String_ID,@Lng_ID,@Strg_Name,@Sht_Text,@Lng_Text,@Alt_Text)"
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
答
你没有描述什么“不工作”的含义。你能提供更多信息吗?你是否遇到异常?什么是异常和堆栈跟踪?
在任何情况下,OleDb命令都不支持命名参数。改为使用问号:
Dim SqlString As String = "INSERT INTO Strings (Mlt_String_ID, Lng_ID, Strg_Name, Sht_Text, Lng_Text, Alt_Text) Values (?,?,?,?,?,?)"
并且参数必须按顺序添加。
我的歉意,插入工作,从我的帖子我提到的结果是讨厌的HTML代码。 “特殊字符的表示。”我尝试过(?,?,?,?,?),但最近添加了字段名称以查看是否有所作为。我会重新测试,虽然肯定,谢谢你的反馈。 – htm11h
正如笔记所示,温度大写C或F前面的度数符号如下所示:° F. °显然代表表示程度的小圆圈。我相信所有参数都是按顺序添加的。重新测试不起作用,与本文中提到的结果相同。 – htm11h