C#-从mySQL数据库获取数据时出错
我当前在尝试从mySQL获取数据时出错:C#-从mySQL数据库获取数据时出错,c#,mysql,C#,Mysql,我当前在尝试从mySQL获取数据时出错: Additional information: Could not find specified column in results: admin 我的代码是: public int getLevel() { string sqlCommand = "Select level from users where username = 'admin'"; int value = 0; MySqlCo
Additional information: Could not find specified column in results: admin
我的代码是:
public int getLevel()
{
string sqlCommand = "Select level from users where username = 'admin'";
int value = 0;
MySqlConnection con = new MySqlConnection("host=111.222.111.222;user=MYUSERNAME;password=MYPASSWORD;database=tcg;");
MySqlCommand cmd = new MySqlCommand(sqlCommand, con);
con.Open();
MySqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
value += int.Parse(reader.GetString("admin"));
}
return value;
}
尝试:
如果您只有一名管理员,请使用:
public int getLevel()
{
int value = 0;
using(MySqlConnection con = new MySqlConnection("host=45.37.80.181;user=MYUSERNAME;password=MYPASSWORD;database=tcg;"))
{
con.Open();
using(MySqlCommand cmd = con.CreateCommand())
{
cmd.CommandText = "Select level from users where username = @ad";//add Order by if you need to
cmd.Parameters.AddWithValue("@ad","admin");
value += Convert.ToInt32(com.ExecuteScalar());//this assumes you will get an integer value
}
con.Close();
}
return value;
}
您只需返回列
级别
,在开始编写太多代码之前,请利用使用
块来安全使用资源。否则,您的所有代码都将如上面所示:pYeah,我正在尝试获取level的数据,那么为什么您有GetString(“admin”)代码>如果你以前从未使用过结果集,那么就这么说,也许有人可以键入答案。但这就像是一个1小时的教程,stackoverflow不是那种网站不知道你为什么会有DV。这里有一个。谢谢你的帮助,因为我在SELECT语句中放了TOP,它是SQL而不是MySQL。我还没来得及编辑,就有人把他们的内裤弄得乱七八糟。不用担心,很高兴这有帮助。干杯
public int getLevel()
{
int value = 0;
using(MySqlConnection con = new MySqlConnection("host=45.37.80.181;user=MYUSERNAME;password=MYPASSWORD;database=tcg;"))
{
con.Open();
using(MySqlCommand cmd = con.CreateCommand())
{
cmd.CommandText = "Select level from users where username = @ad";//add Order by if you need to
cmd.Parameters.AddWithValue("@ad","admin");
value += Convert.ToInt32(com.ExecuteScalar());//this assumes you will get an integer value
}
con.Close();
}
return value;
}