我想知道如何根据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);
}
答案 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);
}
这会将上传器设置为最后一行上传器列的值