我试图使用MySqlAdapter运行一个SQL查询,使其返回DataTable中的数据。
我在参数化方面遇到了麻烦。基本上它没有返回任何东西,它应该返回2行。
我有这样的代码。
using (MySqlConnection connection = new MySqlConnection(CONSTANTS.dbCONNECTSTRING))
{
string sqlQuery = $"SELECT * FROM tfg_bcovi.User where userName= '@userName'";
MySqlCommand command = new MySqlCommand(sqlQuery, connection);
command.Parameters.Add(new MySqlParameter("@userName", userCtrl.UserName));
MySqlDataAdapter dataAdapter = new MySqlDataAdapter(command);
DataSet dataSet = new DataSet();
dataAdapter.Fill(dataSet);
DataTable dtResults = dataSet.Tables[0];
}
我检查了userCtrl. UserName的值是正确的 所以我认为是参数化出了问题。
问题就像我之前说的那样,dtResults最终是空的,而它应该至少有2条记录。我检查了在SQL中运行查询。
我到底做错了什么?
谢谢!我正在尝试运行一个SQL语句。
只要去掉参数周围的单引号。你的驱动器已经帮你处理了。
这个:
string sqlQuery = $"SELECT * FROM tfg_bcovi.User where userName= '@userName'";
应该是..:
string sqlQuery = $"SELECT * FROM tfg_bcovi.User where userName= @userName";