首页  >  文章  >  数据库  >  如何在 C# 中正确使用 MySQL 的预准备语句?

如何在 C# 中正确使用 MySQL 的预准备语句?

Barbara Streisand
Barbara Streisand原创
2024-11-16 13:45:03810浏览

How to Properly Use Prepared Statements with MySQL in C#?

在 C# 中使用预准备语句与 MySQL

当尝试在 C# 程序中实现预准备语句时,某些用户可能会遇到问题,如果他们有未正确格式化查询或在添加参数后准备语句。

要解决这些问题,请按照以下步骤操作步骤:

  1. 从查询中删除单引号: 在提供的代码中,查询用单引号括起来。这不是必需的,应该删除。
  2. 添加参数后使用Prepare:在执行查询之前,必须准备好语句。此过程创建一个有效执行查询的计划。使用 cmd.Parameters.AddWithValue() 添加所有必要的参数后,调用 Prepare() 方法。

更正后的代码应如下所示:

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.Parameters.AddWithValue("@val1", tboxUserName.Text);
    cmd.Parameters.AddWithValue("@val2", tboxPassword.Text);
    cmd.Prepare();

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

以上是如何在 C# 中正确使用 MySQL 的预准备语句?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn