“?”之间的区别和Visual Basic中的“@”

时间:2017-10-07 05:48:10

标签: mysql vb.net

我只是想问一下有什么区别?和@在Visual Basic中将数据插入mysql时。所以我有这个问题:

Dim sql As String = "INSERT INTO users(firstname, lastname, position) VALUES(?fname, ?lname, ?pos)"

cmd = New MySqlCommand(sql, conn)
cmd.Parameters.AddWithValue("?fname", TextBox1.Text)
cmd.Parameters.AddWithValue("?lname", TextBox2.Text)
cmd.Parameters.AddWithValue("?pos", TextBox3.Text)

我首先使用@param,但它没有向mysql插入数据,但是当我使用?param时,它会插入数据。他们之间有什么区别?

1 个答案:

答案 0 :(得分:1)

  

当CommandType设置为Text时,.NET Framework数据提供程序为   ODBC不支持将命名参数传递给SQL语句或   到OdbcCommand调用的存储过程。在其中任何一个   使用问号(?)占位符。

直接引用此处:

named parameters with .NET Framework Data Provider for ODBC