如何修复MySqlCommand AddWithValue()未分配参数

时间:2019-03-30 02:00:50

标签: c# mysql

想发送Select MySqlCommand查询,但是AddWithValue()方法没有为给定参数分配其值。因此,我无法从数据库中获取正确的数据。

我已经尝试将@符号更改为吗? 我也尝试过Command.Parameters.AddWithValue(“ param1”,textbox1.text); 我删除了所有不必要的撇号。 我试图在分配参数前后准备命令。

#define debug

Database_Interface db = new Database_Handler();

        public string GetIDFromDB(string user)
        {

            using(MySqlConnection conn = db.Connection)
            {
                db.OpenConnection(conn);
                string sql = "SELECT ID FROM Users WHERE USERNAME = @User";
                using (MySqlCommand cmd = new MySqlCommand(sql,conn))
                {
                    cmd.Parameters.AddWithValue("@User", user);
                    cmd.Prepare();
#if debug
                    return cmd.CommandText;
#endif
                    MySqlDataReader rdr = cmd.ExecuteReader();
                    db.Connection.Close();
                    if (rdr.HasRows)
                    {
                        rdr.Read();
                        return rdr.GetString("ID");
                    }
                    else
                        return "inv_user";
                }
            }
        }

调试返回的结果是相同的sql,实际上没有分配任何参数。但是,当我尝试执行此操作时,最基本的方法是将用户var放入sql内,它应该可以正常工作。唯一的问题是AddWithValue()。

0 个答案:

没有答案