c#启用基于mysql值的按钮

时间:2013-10-22 14:06:28

标签: c# mysql button

我想知道如何根据mysql值启用按钮。

我有一个名为database的数据库。内部数据库表用户和行上传者(varchar(45))行中的文本为“True”。

这是我的代码......但它不起作用。任何解决方案都会很棒。

try
{
    string myConnection = "datasource=localhost;port=3306;username=root;password=pass";
    MySqlConnection myConn = new MySqlConnection(myConnection);

    MySqlCommand SelectCommand = new MySqlCommand("select uploader from database.users where username='" + c.username_txt.Text + "' ;", myConn);
    MySqlDataReader myReader;
    myConn.Open();
    myReader = SelectCommand.ExecuteReader();
    while (myReader.Read())
    {
        Console.WriteLine(myReader.GetString(myReader.GetOrdinal("uploader")));
    }
    string uploader = Console.ReadLine();
    if (uploader == "True")
    {
        uploadToolStripMenuItem.Enabled = true;
    }
    else
        myConn.Close();
}
catch (Exception ex)
{
    MessageBox.Show(ex.Message);
}

1 个答案:

答案 0 :(得分:1)

if (uploader == "True")
{
    uploadToolStripMenuItem.Enabled = true;
}
else
{
    myConn.Close();
    uploadToolStripMenuItem.Enabled = false
}

如果uploadToolStripMenuItem已经启用,并且您希望在uploader != "True"时禁用它,那么您必须明确禁用它。关于代码的其他内容,uploader将不会从表中分配任何数据,而是从控制台(CLI)分配用户,这在您使用按钮(GUI)后没有多大意义。将数据库调用的值赋给var,并保持代码不变,执行:

string uploader;
while (myReader.Read())
{
    uploader = myReader.GetString(myReader.GetOrdinal("uploader"))
    Console.WriteLine(uploader);
}

这会将上传器设置为最后一行上传器列的值