У меня есть два очень похожих проекта 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
Вот предупреждение:
Открытая функция Add (имя_параметра как строка, значение как объект) как
MySql.Data.MySqlClient.MySqlParameter 'устарел:' Добавить (String
имя_параметра, значение объекта) устарело. использование
AddWithValue (String параметрName, значение объекта) '
Если я следую инструкциям и вместо этого использую «AddWithValue», предупреждения исчезают. Но я не могу понять, почему я не получаю эти сообщения в первом проекте.
Кажется, в их конфигурации что-то другое, но я не могу понять, что именно. Оба используют одну и ту же версию mysql.data.dll. И то, и другое настроено на показ предупреждений при одинаковых обстоятельствах через проект> свойства> меню компиляции Кто-нибудь может подсказать, где еще проверить?