MySqlDataReader没有返回值

时间:2017-11-30 23:42:00

标签: c#

所以,我有这个代码

    MySqlConnection connection = new MySqlConnection("Server=localhost;Port=3306; Database=brez-db;Uid=root;Pwd=root;");

        try {
            connection.Open();
            String Query = "SELECT 1 FROM users_table WHERE user_Username='" + usernameTB.Text + "' AND user_Password='" + passwordTB.Password + "'";
            MySqlCommand myCommand = new MySqlCommand(Query, connection);
            MySqlDataReader myReader = myCommand.ExecuteReader();

            while (myReader.Read())
            {
                String str = myReader.GetString("user_Username").ToString();
                MessageBox.Show(str);
            }


        }
        catch(Exception ex) { throw; }
        finally { }

但是

while(myReader.Read()){} 

仅返回1和0。如果里面有一个值,则为1,如果没有,则为0。

我尝试了很多东西来获得价值,但没有任何建议? 我正在写一个wpf C#app

PS:我知道使用参数进行安全性是一件好事,但我现在想制作一个简单的代码

1 个答案:

答案 0 :(得分:0)

选择后删除1。你也应该使用查询字符串的名称,而不是查询,看起来它是为某些东西保留的。 另外,你应该得到这样的字符串:

string sUsername= myReader["ColumnName"].ToString();

或者像这样

string sUsername= myReader[0].ToString();

最后你遗漏了connection.Close();