PDA

View Full Version : پر کردن ComboBox از دیتابیس



hadi vafaii
پنج شنبه 17 دی 1394, 06:41 صبح
سلام
دوستان من دوتا کمبوباکس دارم میخواستم اطلاعات دیتابیس تو اونا پر کنم و وقتی کمبوی اول رو تغییر دادم دومی بر اساس اون تغییر کنه چیکار باید انجام بدم بنده با کد زیر انجام میدم اما خطا میده کمبو باکس اول پر میشه اما دومی نه

private void Form2_Load(object sender, EventArgs e)
{
OleDbConnection con=new OleDbConnection(Connection.Conection.ConnectedToDa teBase("a.mdb"));
string a = "SELECT markaz from tbostan ";
OleDbCommand com = new OleDbCommand(a,con);
OleDbDataAdapter oleda = new OleDbDataAdapter(com);
DataSet ds = new DataSet();
oleda.Fill(ds, "tbostan");
comboBox1.DataSource = ds.Tables["tbostan"].DefaultView;
comboBox1.DisplayMember = "markaz";

}

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if (comboBox1.SelectedIndex !=-1)
{
OleDbConnection con=new OleDbConnection(Connection.Conection.ConnectedToDa teBase("a.mdb"));
OleDbDataAdapter oleda = new OleDbDataAdapter("SELECT city FROM tbcity WHERE id= id", con);
oleda.SelectCommand.Parameters.AddWithValue("id", (((DataRowView)comboBox1.SelectedItem)["city"].ToString()));
DataTable tbcity = new DataTable();
oleda.Fill(tbcity);
comboBox2.DataSource = tbcity;
comboBox2.DisplayMember = "city";



}


138242

Mahmoud.Afrad
پنج شنبه 17 دی 1394, 10:35 صبح
چون دو جدول هست باید بر اساس آیدی استان در جدول شهر جستجو انجام بدی.
در صورت بروز خطا نام ستونها رو اصلاح کن

private void Form2_Load(object sender, EventArgs e)
{
OleDbConnection con = new OleDbConnection(Connection.Conection.ConnectedToDa teBase("a.mdb"));
string a = "SELECT id, markaz from tbostan ";
OleDbCommand com = new OleDbCommand(a, con);
OleDbDataAdapter oleda = new OleDbDataAdapter(com);
DataTable dtostan = new DataTable();
oleda.Fill(dtostan);
comboBox1.DataSource = dtostan;
comboBox1.DisplayMember = "markaz";
comboBox1.ValueMember = "id";
}

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if (comboBox1.SelectedIndex != -1)
{
OleDbConnection con = new OleDbConnection(Connection.Conection.ConnectedToDa teBase("a.mdb"));
OleDbDataAdapter oleda = new OleDbDataAdapter("SELECT id, city FROM tbcity WHERE idOstan= @idostan", con);
oleda.SelectCommand.Parameters.AddWithValue("@idostan", (int) comboBox1.SelectedValue);
DataTable tbcity = new DataTable();
oleda.Fill(tbcity);
comboBox2.DataSource = tbcity;
comboBox2.DisplayMember = "city";
comboBox2.ValueMember = "id";
}
}