我需要从C#绑定ODBC查询的参数.这是示例代码,但VS告诉我缺少一个参数.
OdbcCommand cmd = conn.CreateCommand();
cmd.CommandText = "SELECT * FROM user WHERE id = @id";
cmd.Parameters.Add("@id", OdbcType.Int).Value = 4;
OdbcDataReader reader = cmd.ExecuteReader();
Run Code Online (Sandbox Code Playgroud)
ODBC上绑定值的语法是什么?
我正在尝试使一些MSSQL代码也运行在MYSQL上,我只是打了这个地雷.Google表示,通常的方法是简单地执行插入操作,然后选择last_insert_ID()来查找写入的内容.
不过,这并不会让我觉得在多用户环境中是安全的.那里有一个狭窄的窗口,其他用户可以插入一些东西并导致错误的返回值.如何安全地插入并获取插入记录的密钥?
我有一个包含以下详细信息的 Mysql 数据表:
ID (int format) [AUTO_INCREMENT]
date (varchar)
ip (varchar)
activate(varchar)
cdkey(varchar)
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Using SQLConnection As New MySqlConnection(ConnectionString)
Using sqlCommand As New MySqlCommand()
With sqlCommand
.CommandText = "INSERT INTO software (`date`, `ip`, `activate`, `cdkey`) values (@date,@ip,@activate,@cdkey)"
.Connection = SQLConnection
.CommandType = CommandType.Text
.Parameters.AddWithValue("@ip", Label1.Text)
.Parameters.AddWithValue("@date", TextBox2.Text)
.Parameters.AddWithValue("@activate", "Yes")
.Parameters.AddWithValue("@cdkey", textbox4.Text)
End With
Try
SQLConnection.Open()
sqlCommand.ExecuteNonQuery()
iReturn = True
MsgBox("Display Last Insert ID here")
Catch ex As MySqlException
MsgBox(ex.Message.ToString)
iReturn = …Run Code Online (Sandbox Code Playgroud)