使用C#对MySQL进行参数化查询

我有下面的代码(我包括了我认为所有相关的部分):

private String readCommand = "SELECT LEVEL FROM USERS WHERE VAL_1 = ? AND VAL_@ = ?;";

public bool read(string id)

{

level = -1;

MySqlCommand m = new MySqlCommand(readCommand);

m.Parameters.Add(new MySqlParameter("", val1));

m.Parameters.Add(new MySqlParameter("", val2));

MySqlDataReader r = m.ExecuteReader();

if (r.HasRows)

level = Convert.ToInt32(r.GetValue(0).ToString());

r.Close();

return true;

}

运行此命令时,在添加第一个参数时会收到IndexOutOfBoundsException。我做错了什么?

回答:

尝试以下方法:

private String readCommand = 

"SELECT LEVEL FROM USERS WHERE VAL_1 = @param_val_1 AND VAL_2 = @param_val_2;";

public bool read(string id)

{

level = -1;

MySqlCommand m = new MySqlCommand(readCommand);

m.Parameters.AddWithValue("@param_val_1", val1);

m.Parameters.AddWithValue("@param_val_2", val2);

level = Convert.ToInt32(m.ExecuteScalar());

return true;

}

以上是 使用C#对MySQL进行参数化查询 的全部内容, 来源链接: utcz.com/qa/433773.html

回到顶部