c#使用true/false从MySql数据库继续或显示错误

本文关键字:继续 数据库 显示 错误 MySql 使用 true false | 更新日期: 2023-09-27 17:52:17

我需要我的应用程序从数据库&做点什么吧。

在我的数据库中,我有一行名为"ban",这是TinyInt(1)的真/假语句。

如果用户输入他的许可证名称&许可证号码和点击一个按钮,我的应用程序将比较输入数据与特定行在我的数据库。如果ok = continue,如果不ok,则显示错误。

插入的输入的true/false语句也将作为ListBox项添加。

现在我得到了工作,但实际上我需要我的应用程序做一些与真或假。

所以我需要的是从插入的输入中获取真或假,&然后用它来表示"如果为false则打开新窗口如果为true则在文本框内显示错误"

显示错误不是一个大问题,我得到了工作。这里最重要的是使用true或false来继续或不继续。

我知道它和布尔值有关,我只是不知道如何使用它。

这是我到目前为止得到的:(不是完整的代码,但我认为这会做)

谢谢!

    public partial class MainWindow : Window
{
    string ConnectionString = Properties.Settings.Default.cloudpos_beheerCS;
    public MainWindow()
    {
        InitializeComponent();
    }
    private void Button_Click_1(object sender, RoutedEventArgs e)
    {
        string Naamtxt = Naam.Text;
        string Licentietxt = Licentie.Text;
        MySqlConnection conn = new MySqlConnection(ConnectionString);
        MySqlCommand cmdDatabase = conn.CreateCommand();
        MySqlDataReader rdr;
        cmdDatabase.CommandText = "SELECT * FROM cloudposgebruikers WHERE licentie = @licentie AND naam = @naam";
        cmdDatabase.Parameters.AddWithValue("@naam", Naamtxt);
        cmdDatabase.Parameters.AddWithValue("@licentie", Licentietxt);
        try
        {
            conn.Open();
        }
        catch (Exception)
        {
            ErrorVerbinding.Content = "Er kan geen verbinding gemaakt worden met de database.";
            return;
        }
        rdr = cmdDatabase.ExecuteReader();
        int ollema = rdr.GetOrdinal("ban");
        while (rdr.Read())
            ListBox1.Items.Add(rdr.GetString(ollema));
            conn.Close();
        }
    }

c#使用true/false从MySql数据库继续或显示错误

我找到了解决方案。我不需要为任务创建bool,只需要2行代码就可以了。谢谢大家!

        if (rdr.HasRows)
        {
            while (rdr.Read()) //Make sure this is added or it won't work.
            {
                if (rdr.GetBoolean("ban"))
                {
                    ErrorSuspend.Text = "Uw licentie is verlopen of geblokkeerd.                      Contacteer uw verdeler om een nieuwe licentie te bekomen.";
                    return;
                }
                else
                {
                    Login Login = new Login();
                    this.Content = Login;
                }
            }
        }
        else
        {
            ErrorLN.Content = "Licentie of naam incorrect.";
            return;
        }
    }

试试这个:

bool ollema = (bool)rdr.GetValue(Index OF Ban Field);
while (rdr.Read())
           ListBox1.Items.Add(rdr.GetString(ollema));
            conn.Close();
        }