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();
}
}
我找到了解决方案。我不需要为任务创建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();
}