【【amandag(高歌)】】请进来一下 有问题请教 就刚才那个ComboBox的问题
由于我用的是ACCESS数据库 所以对你刚才的程序改了一点
(http://community.csdn.net/Expert/topic/5658/5658408.xml?temp=4.258364E-02)
......
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if (comboBox1.Text.Trim().Length == 0)
return;
OleDbConnection cn = new OleDbConnection( "server=.;Integrated security=yes;database=pubs ");
string strSQL = "select ProvinceID, ProvinceName from Province where CountryID = @CountryID ";
OleDbDataAdapter da = new OleDbDataAdapter(strSQL, cn);
da.SelectCommand.Parameters.Add( "@CountryID ", OleDbDbType.Integer).Value = Convert.ToInt32(comboBox1.Text);
DataSet ds = new DataSet();
cn.Open();
da.Fill(ds);
cn.Close();
comboBox2.DataSource = ds.Tables[0];
comboBox2.ValueMember = "ProvinceID ";
comboBox2.DisplayMember = "ProvinceName ";
}
------------------------------
程序成功生成
执行这一行报错:
da.SelectCommand.Parameters.Add( "@CountryID ", OleDbDbType.Integer).Value = Convert.ToInt32(comboBox1.Text);
输入字符串的格式不正确。
确保方法参数的格式正确。
将一个字符串转换为DateTime时,先分析该字符串以获取日期,然后再将每个变量放置倒DateTime对象中。
不知道上诉报错是什么意思,我们哪里用倒DateTime啊?
------解决方案--------------------我也没用到DataTime.. 莫名中,我用Access数据库试一下吧
------解决方案--------------------最后还有个小问题看方不方便解决,都正常了,就是如果第一级(Country)选中了美国,但如果美国下面的第二级目录没有任何数据,本来应该什么都不显示,但现在还显示的中国对应的省(或其他不匹配的数据)
-----------------------
重新绑定下
comboBox2.DataSource = null;
comboBox2.DataBind();