我现在在做一个界面,需要用visuaC#2010窗体设计程序中的级联Combobox控件操作已经建立好的Access数据库(全国省份及城市对应数据库),我目前已经用代码把数据库连接部分写好了,如下:
OleDbConnectionStringBuilder areaConnectionStringBuilder = new OleDbConnectionStringBuilder();
               areaConnectionStringBuilder.DataSource = @"F:\area.mdb";
               areaConnectionStringBuilder .Provider = "Microsoft.Jet.OLEDB.4.0";
               using (OleDbConnection myOleDbConnection = new OleDbConnection(areaConnectionStringBuilder.ConnectionString))
               {
                   DataSet areaDataSet = new DataSet();
                   OleDbCommand areaOleDbCommand = new OleDbCommand("selcet 城市 from area",myOleDbConnection);
                   myOleDbConnection.Open();
    但是我不知道对不对,尤其是不知道接下来要做什么,难道要一个省一个省的写if语句,判断第一个Combobox控件所选内容?还有一个问题,就是,数据库里的省份都是有id号的,如何根据得到的省份名得到id号?第三个问题就是,用代码写的连接数据库与在添加数据源时做的连接设置以及名字之间有关系吗?是不是而这功能一样,我重复了?
    我是一个初学者,如果谁能回答这个问题,我将不甚感激!

解决方案 »

  1.   

     private void BindComboBox()
            {
                //读取运行参数
                string fileName = @Directory.GetCurrentDirectory() + "\\Comm7.txt";
                StreamReader sr = new StreamReader(fileName, Encoding.Default);
                while (sr.Peek() > 0)
                {
                    string strComm = sr.ReadLine();
                    strComm = DCT.GetTxtComm(strComm);
                    strComm = DCT.GetCommCode(strComm);
                    this.comboBox4.Items.Add(strComm);
                }
                sr.Close();
            }
      

  2.   

    不一定要用if语句,switch可能会好些
    根据你所选择项的索引
    switch(Combobox1.SelectIndex)
    {
      case:0
      //
      case :1
     //
      default:
     //
    ]数据库里的省份都是有id号的,如何根据得到的省份名得到id号
    select id from 数据库表名 where 城市名=“你想要id的城市名”