0

我有两个非常相似的 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(parameterName As String, value As Object) As MySql.Data.MySqlClient.MySqlParameter' 已过时:'Add(String parameterName, Object value) 已被弃用。使用 AddWithValue(String parameterName, Object value)'

如果我按照说明使用“AddWithValue”,警告就会消失。但我不明白为什么我在第一个项目中没有收到这些消息。

他们的配置似乎有些不同,但我不知道是什么。两者都使用相同版本的 mysql.data.dll。两者都配置为通过项目>属性>编译菜单在相同情况下显示警告。任何人都可以建议在哪里检查?

4

1 回答 1

2

它可能已使用/nowarn禁用。

关闭项目并在文本编辑器中打开 .vbproj 文件并进行搜索可能是值得的,NoWarn因为我认为它也可能在其中的其他地方。

于 2011-08-15T09:54:35.980 回答