我有两个非常相似的vb.net项目。两者最近都已从.net 1.1转换为3.5。
在一个中,以下代码不提供警告。另一方面,当我尝试设置mysql命令对象的参数时,我收到警告:
Public Sub mySub(ByVal applid As Integer, ByVal text1 As String,ByVal text2 As String)
Dim objMYSQL As New Classes.DataAccess.clsMysql
Dim objConnection As New MySQL.Data.MySQLClient.MySqlConnection
objConnection = objMYSQL.ConnectionNew("myDB")
Dim objCommand As MySqlCommand
Dim InsertSQL As String = ""
InsertSQL = "insert into [myTable] ([text1],[text1])"
InsertSQL = InsertSQL + " values(@txt1,@txt2)"
objCommand = New MySQL.Data.MySQLClient.MySqlCommand(InsertSQL, objConnection)
objCommand.CommandType = CommandType.Text
'Set parameters
objCommand.Parameters.Add("@txt1", text1) ' Warning here...
objCommand.Parameters.Add("@txt2", text2) '...and here!
objCommand.ExecuteNonQuery()
End Sub
这是警告:
Public Function Add(parameterName As String,value As Object)As MySql.Data.MySqlClient.MySqlParameter'已废弃:'添加(字符串) parameterName,Object value)已被弃用。使用 AddWithValue(String parameterName,Object value)'
如果我按照说明操作,并改为使用“AddWithValue”,警告就会出现。但我无法弄清楚为什么我在第一个项目中没有收到这些消息。
它们的配置似乎有些不同,但我无法弄清楚是什么。两者都使用相同版本的mysql.data.dll。两者都配置为通过项目>属性>编译菜单在相同的情况下显示警告。谁能建议在哪里检查?