请教各位达人高手:
目前在做省市联动的代码中,出现情况combobox1,后combobox2的值无法第一时间改变。。整个代码如下:(数据库是access2007)
private void frmShowTel_Load(object sender, EventArgs e)
{
// 创建数据库连接
using (OleDbConnection objConn = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;
Data Source=../../database/Assist.accdb"))
{
objConn.Open(); // 创建数据库的sql命令
using (OleDbCommand objCmd = objConn.CreateCommand())
{
objCmd.CommandText = "select distinct state from Domination";
using (OleDbDataReader objReader = objCmd.ExecuteReader())
{
while (objReader.Read())
{
string stateName = objReader.GetString(objReader.GetOrdinal("state"));
cmbState.Items.Add(stateName);
}
}
}
} } private void cmbState_SelectedIndexChanged(object sender, EventArgs e)
{
if (this.cmbState.SelectedIndex !=0)
{
// 清空cmbCity的内容
cmbCity.Items.Clear(); // 创建数据库连接
using (OleDbConnection objConn = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;
Data Source=../../database/Assist.accdb"))
{ objConn.Open();
// 创建数据库的sql命令,和第一个相同
using (OleDbCommand objCmd = objConn.CreateCommand())
{
objCmd.CommandText = "select city from Domination where state=cmbState.SelectedItem";
objCmd.Parameters.Add(new OleDbParameter("city", cmbState.SelectedItem));
using (OleDbDataReader objReader = objCmd.ExecuteReader())
{
while (objReader.Read())
{
string cityName = objReader.GetString(objReader.GetOrdinal("city"));
cmbCity.Items.Add(cityName);
}
}
}
objConn.Close();
objConn.Dispose();
}
} }
ComboBox数据库
目前在做省市联动的代码中,出现情况combobox1,后combobox2的值无法第一时间改变。。整个代码如下:(数据库是access2007)
private void frmShowTel_Load(object sender, EventArgs e)
{
// 创建数据库连接
using (OleDbConnection objConn = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;
Data Source=../../database/Assist.accdb"))
{
objConn.Open(); // 创建数据库的sql命令
using (OleDbCommand objCmd = objConn.CreateCommand())
{
objCmd.CommandText = "select distinct state from Domination";
using (OleDbDataReader objReader = objCmd.ExecuteReader())
{
while (objReader.Read())
{
string stateName = objReader.GetString(objReader.GetOrdinal("state"));
cmbState.Items.Add(stateName);
}
}
}
} } private void cmbState_SelectedIndexChanged(object sender, EventArgs e)
{
if (this.cmbState.SelectedIndex !=0)
{
// 清空cmbCity的内容
cmbCity.Items.Clear(); // 创建数据库连接
using (OleDbConnection objConn = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;
Data Source=../../database/Assist.accdb"))
{ objConn.Open();
// 创建数据库的sql命令,和第一个相同
using (OleDbCommand objCmd = objConn.CreateCommand())
{
objCmd.CommandText = "select city from Domination where state=cmbState.SelectedItem";
objCmd.Parameters.Add(new OleDbParameter("city", cmbState.SelectedItem));
using (OleDbDataReader objReader = objCmd.ExecuteReader())
{
while (objReader.Read())
{
string cityName = objReader.GetString(objReader.GetOrdinal("city"));
cmbCity.Items.Add(cityName);
}
}
}
objConn.Close();
objConn.Dispose();
}
} }
ComboBox数据库
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货