我只是想问一下有什么区别?和@在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时,它会插入数据。他们之间有什么区别?
答案 0 :(得分:1)
当CommandType设置为Text时,.NET Framework数据提供程序为 ODBC不支持将命名参数传递给SQL语句或 到OdbcCommand调用的存储过程。在其中任何一个 使用问号(?)占位符。
直接引用此处: