我想知道如何基于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);
}
这会将上载器设置为最后一行中上载器列的值