0

我想知道如何根据 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);
}
4

1 回答 1

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

这会将 uploader 设置为最后一行的 uploader 列的值

于 2013-10-22T14:18:31.350 回答