我想知道如何基于mysql值启用按钮。

我有一个称为数据库的数据库。在数据库表用户和行上载器(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);
}

最佳答案

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);
}


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

08-07 05:15