コンボボックスがあり、変更をデータベースに保存したいと考えています。
私がやりたいことは、コンボボックスが選択されていて、以下のコードを実行する必要がある場合です。false の場合は、コードをスキップしてさらに先に進む必要があります。
以下のコードは、コンボボックスが有効かどうかをチェックしています。しかし、私がコンパイルしているとき、選択されていない場合はtrueと言っています
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);
}
そして、それはうまくいきます。
私を助けてくれてありがとう!