我有一个组合框,想将更改保存在数据库中。
我想要做的是,如果选择了组合框并且确实必须运行下面的代码。如果它是假的,那么它必须跳过代码并走得更远。
下面的代码正在检查是否启用了组合框。但是当我编译时,它在没有被选中时说是真的
private void Log()
{
if (kaartburgerlijkestand.Enabled)
{
veranderingBurgelijkestaat();
}
}
下面的代码是将数据保存在数据库中
private string veranderingBurgerlijkestaat()
{
string gebruiker = curMedewerker.Behandelnaam;
string bekeken = prodermaform.pKaart();
string tabblad = tabControl1.SelectedTab.Text;
string pat = CPatient.GeefPatientNaam(patient.Id);
string wijz = "Burgerlijkestaat: " + kaartBurgerlijkestand.Text;
CDb dcon = new CDb();
try
{
if (dcon.Open())
{
SqlCommand cmd = new SqlCommand("INSERT INTO dbo.loggen(Gebruiker, Bekeken, Tabblad, Patientnaam, Wijziging, Datum) VALUES(@gebruiker, @bekeken, @tabblad, @pat, @wijz, @datum)", dcon.Conn);
cmd.Parameters.AddWithValue("@gebruiker", gebruiker);
cmd.Parameters.AddWithValue("@bekeken", bekeken);
cmd.Parameters.AddWithValue("@tabblad", tabblad);
cmd.Parameters.AddWithValue("@pat", pat);
cmd.Parameters.AddWithValue("@wijz", wijz);
cmd.Parameters.AddWithValue("@datum", DateTime.Now);
cmd.ExecuteNonQuery();
cmd.Dispose();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
dcon.Close();
}
return wijz;
}
有人可以告诉我一个例子如何做到这一点
我找到了解决方案
我做了检查
private void doCheck(object sender, EventArgs e)
{
cmbox = false;
if (kaartBurgerlijkestaat.Focused)
{
veranderingBurgerlijkestand();
}
cmbox = true;
}
然后我使用了 SelectedValueChanged 事件
private void kaartBurgerlijkestand_SelectedValueChanged(object sender, EventArgs e)
{
if (cmbox)
doCheck(sender, e);
}
它工作正常。
我要感谢大家对我的帮助!