首页 > 数据库 > mysql教程 > 为什么我的 C# MySQL 准备语句失败,如何修复?

为什么我的 C# MySQL 准备语句失败,如何修复?

Patricia Arquette
发布: 2024-11-28 11:54:11
原创
211 人浏览过

Why is my C# MySQL Prepared Statement Failing, and How Can I Fix It?

使用 MySQL 对 C# 中的预准备语句进行故障排除

尝试在使用 MySQL 的 C# 程序中使用预准备语句时遇到错误。虽然将其转换为标准语句产生了所需的结果,但您正在寻求帮助来识别问题。

错误代码:

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);
登录后复制

更正:

  • 添加后使用Prepare参数: 在错误的代码中,命令是在添加参数之前准备好的。正确的方法是先添加参数,然后调用Prepare()。
  • 从查询中删除单引号:查询包含参数占位符周围的单引号(@val1和@val2),这是不正确的。准备好的语句需要不带引号的参数占位符。

更正的代码:

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# MySQL 准备语句失败,如何修复?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板