selectedIndexChanged Event
のデータをComboBox
に基づいてデータベースからロードしたいとします。私は2 controls
,cbDocName
とtbDocFee
を持っています。私がcbDocName
からDocを選択すると、そのDoc料金はtbDocFeeに読み込まれます。以下は、上記のコードが完全に動作代わりcbDocNameにDOCNAMEを示すから、それはDisplayMember
としてたDocIDを示すコードとComboBoxに基づいてデータベースからテキストボックスにデータをフェッチする方法選択された変更イベント
private void cbDocsName_SelectedIndexChanged(object sender, EventArgs e)
{
GetDocFees();
}
public void GetDocFees()
{
string CS = ConfigurationManager.ConnectionStrings["MyCon"].ConnectionString;
using (SqlConnection con = new SqlConnection(CS))
{
SqlCommand cmd = new SqlCommand("SELECT DocFees FROM AddDoctor WHERE [email protected]", con);
cmd.CommandType = CommandType.Text;
cmd.Parameters.AddWithValue("@ID", cbDocsName.Text);
con.Open();
tbDocFees.Text = cmd.ExecuteScalar().ToString();
}
}
添付の写真です。ここでform load event
private void frmDocAppoinment_Load(object sender, EventArgs e)
{
cbDocsName.DataSource = DocAppoinmentSystem.Utillities.clsNewApp.LoadDocNameComboBox();
cbDocsName.DisplayMember = "DocName";
cbDocsName.ValueMember = "ID";
}
上のコードが更新されます。LoadDocNameComboBox()のコードが
public static DataTable LoadDocNameComboBox()
{
DataTable dtCampus = new DataTable();
string CS = ConfigurationManager.ConnectionStrings["MyCon"].ConnectionString;
using (SqlConnection con = new SqlConnection(CS))
{
using (SqlCommand cmd = new SqlCommand("SELECT ID,DocName FROM AddDoctor WHERE DocStatus='PRESENT'", con))
{
cmd.CommandType = CommandType.Text;
con.Open();
SqlDataReader r = cmd.ExecuteReader();
dtCampus.Load(r);
}
}
return dtCampus;
}
を下回っている。注:これらのすべての時にcbDocName.SelectedIndex, cbDocName.SelectedText, cbDocName.SelectedItem
が、私はエラー
オブジェクト参照が設定されていない取得オブジェクトのインスタンスへ
「LoadDocNameComboBox」が返すものを正確に知ることができます。 – DonBoitnott
'LoadDocNameComboBox'が何をするかを表示します。 – Codexer
{LoadDocNameComboBox}はDocNameとDocIDをデータベースから返し、ComboBoxを埋めます –