我目前有一些代码:
Dim InsertSecondCmd As New MySqlCommand("INSERT INTO [modules_access] (module_id, company_id) VALUES (5, " & intCompanyID & ")", thisConnection)
InsertSecondCmd.ExecuteNonQuery()
我可以整理一下,并以某种方式将代码放在一行吗?
例如
ExecuteNonQuery(MySqlCommand("INSERT INTO [modules_access] (module_id, company_id) VALUES (5, " & intCompanyID & ")", thisConnection))
我尝试了一些变化,但找不到一个有效的。建议欢迎!
答案 0 :(得分:4)
当然,你可以这样做:
Dim affectedRows As Int32 InsertSecondCmd As New MySqlCommand("INSERT INTO [modules_access] (module_id, company_id) VALUES (5, " & intCompanyID & ")", thisConnection).ExecuteNonQuery()
但我不确定这有什么好处。
最后,这种方法的问题越来越多。连接和命令没有正确处理,它对SQL注入是开放的,并且它几乎不可读。
例如,这就是您的代码应该的样子:
Using c As MySqlConnection = new MySqlConnection(connString)
c.Open();
Using cmd As MySqlCommand = new MySqlCommand("INSERT INTO [module_access] (`module_id`, `company_id`) VALUES (@module_id, @company_id)", c)
cmd.Parameters.AddWithValue("@module_id", 5)
cmd.Parameters.AddWithValue("@company_id", intCompanyID)
cmd.ExecuteNonQuery()
End Using
End Using