如何使用OdbcParameter for MySQL?(How to use OdbcParameter for MySQL?)
如何使用OdbcParameter for MySQL ?
这是我目前的尝试 :
command.Parameters.Add(new OdbcParameter("@username", username.Text)); command.Parameters.Add(new OdbcParameter("@password", password.Text)); command.CommandText = "INSERT INTO test.test (`user`,`password`) VALUES (@username,@password);"; command.ExecuteNonQuery();但似乎没有用。 数据库确实创建了一个新行,但它的值为NULL。
这有效 :(但我真的需要其他东西的参数)
command.CommandText = "INSERT INTO test.test (`user`,`password`) VALUES (`" + username.Text + "`,`" + password.Text + "`);"; command.ExecuteNonQuery();我究竟做错了什么?
How to use OdbcParameter for MySQL?
This is my current attempt:
command.Parameters.Add(new OdbcParameter("@username", username.Text)); command.Parameters.Add(new OdbcParameter("@password", password.Text)); command.CommandText = "INSERT INTO test.test (`user`,`password`) VALUES (@username,@password);"; command.ExecuteNonQuery();but it seems to be not working. The database does create a new row, but it's values are NULL.
This works: (but I really need the parameters for other stuff)
command.CommandText = "INSERT INTO test.test (`user`,`password`) VALUES (`" + username.Text + "`,`" + password.Text + "`);"; command.ExecuteNonQuery();What am I doing wrong?
最满意答案
将CommandText更改为OdbcCommand的有效命令:
command.CommandText = "INSERT INTO test.test (`user`,`password`) VALUES (? , ?);";而不是参数名称@paramname ,它需要一个? 在CommandText - 将名称保留在实际参数中。
有关示例,请参阅此博客文章。
Change your CommandText to be a valid one for OdbcCommand:
command.CommandText = "INSERT INTO test.test (`user`,`password`) VALUES (? , ?);";Instead of the parameter name as @paramname, it takes a ? in the CommandText - leave the name in the actual parameters.
See this blog post for an example.
更多推荐
发布评论