gpt4 book ai didi

c# - 在 C# 和 Mysql 中使用预处理语句

转载 作者:行者123 更新时间:2023-11-30 13:48:52 25 4
gpt4 key购买 nike

我在我的程序中尝试了准备好的语句,但没有用。

注释的部分是Prepared Statement部分。当我将其更改为正常语句时,一切正常。

谁能告诉我我错过了什么?

非常感谢。

private void btnLogin_Click(object sender, EventArgs e)
{
MySqlCommand cmd = MySqlConn.cmd;
//cmd = new MySqlCommand("SELECT * FROM admin WHERE admin_username='@val1' AND admin_password=PASSWORD('@val2')", MySqlConn.conn);
//cmd.Prepare();
//cmd.Parameters.AddWithValue("@val1", tboxUserName.Text);
//cmd.Parameters.AddWithValue("@val2", tboxPassword.Text);
cmd = new MySqlCommand("SELECT * FROM admin WHERE admin_username='"+tboxUserName.Text+"' AND admin_password=PASSWORD('"+tboxPassword.Text+"')", MySqlConn.conn);

MySqlDataReader res = cmd.ExecuteReader();
if (!res.HasRows) { MessageBox.Show("Error! "); res.Close(); return; }
else
{
//do something
}
res.Close();
}

最佳答案

尝试从查询中删除 ' 并在添加参数后使用 Prepare:

cmd = new MySqlCommand("SELECT * FROM admin WHERE admin_username=@val1 AND admin_password=PASSWORD(@val2)", MySqlConn.conn);
cmd.Parameters.AddWithValue("@val1", tboxUserName.Text);
cmd.Parameters.AddWithValue("@val2", tboxPassword.Text);
cmd.Prepare();

关于c# - 在 C# 和 Mysql 中使用预处理语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11070434/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com