我知道我需要参数化我的查询,主要是出于安全原因,我需要帮助。我在 Visual Studio 2012 和 SQL Server 2012 中使用 VB。我以前从未这样做过,我在网上找到的所有内容似乎都不适合我的特定代码。我认为需要工作的一点是:
objconnection.Open()
strSQL = "insert into dbo.Event(ID, Name, Summary, Date) values (NEWID(), '" & strName & "','" & strSummary & "','" & strLocation & "','" & strDate & "')"
objcmd = New OleDbCommand(strSQL, objconnection)
objcmd.ExecuteNonQuery()
objconnection.Close()
MsgBox("Event Created", vbMsgBoxSetForeground)
任何指针都非常感谢。如果您需要更多代码,请告诉我!
来自评论:
我确实看过并尝试过,但我遇到了问题。在这部分:
.add(new SqlParameter("@strname", '"& strName &"'))
"@streventname" 和 '"strName"' 之间的 , 带有下划线,它说Expression expected.
还
Dim cmd As SqlCommand = New SqlCommand(cmdText, objconnection)
objconnection 收到错误“'System.Data.OleDb.OleDbConnection' 类型的值无法转换为 'System.Data.SqlClient.SqlConnection'。
可能是我错过了一些愚蠢的事情。