在C#中删除数据库MySQL中的数据时显示状态

时间:2018-07-21 06:59:10

标签: c# mysql visual-studio

在显示是否删除数据时的状态时出现问题。这是代码

 public bool isDelete (String nim, String pass)
    {
        String query = "delete from dbmahasiswa where NIM=@NIM AND Password=@Password";
        class_Mahasiswa cm = new class_Mahasiswa();
        try
        {
            connect.Open();
            MySqlCommand cmd = new MySqlCommand(query, connect);
            cmd.Parameters.AddWithValue("@NIM", nim);
            cmd.Parameters.AddWithValue("@Password", pass);
            cmd.ExecuteNonQuery();
            MySqlDataReader reader;
            reader = cmd.ExecuteReader();
            int count = 0;
            while (reader.Read())
            {
                count += 1;
            }
            if (count == 1)
            {
                System.Windows.Forms.MessageBox.Show("sukses!", "Status");
                return true;
            }
            else
                System.Windows.Forms.MessageBox.Show("akun tidak ditemukan", "Status");
            return false;
            connect.Close();
        }
        catch (Exception e)
        {
            System.Windows.Forms.MessageBox.Show(e.Message, "Warning");
            return false;
        }
        return true;
    }

如果我输入了错误的用户名或密码,它将显示MessageBox“ akun tidak ditemukan”(找不到帐户)。同样,当我输入正确的用户名和密码删除它时,它也会显示MessageBox,因为该函数将在删除数据后读取数据库。

我的问题是,删除数据后如何显示“ Sukses”消息框?

1 个答案:

答案 0 :(得分:1)

您正在呼叫 ExecuteReader ExecuteReader 用于读取通过SELECT语句从查询返回的数据。您不能使用它来知道是否已删除一行或更多行。对于此任务,您仅使用 ExecuteNonQuery 并获取返回值即可知道查询命令“影响”的行数

android:exported="false"

此外,似乎您正在使用全局 connect 对象进行连接。通常,这是许多错误的根源,例如catch子句中的错误。如果您的代码导致异常,则您忘记了关闭连接,而在下一次调用 connect.Open 时,将会收到错误消息。我添加了一个 finally 以确保正确关闭您的连接对象。但是,更好的做法是将连接保持在所需代码的本地,在using语句块中打开以将其关闭并放在块末尾