情况一:
 cmd.CommandText = "select * from Records";//读取Records里的数据
 SqlDataAdapter da = new SqlDataAdapter();//创建数据适配器对象
 da.SelectCommand = cmd;// 设置sql语句
 DataSet ds = new DataSet();//创建数据集对象   
 da.Fill(ds, "record"); // 使用数据适配器从数据源填充dataset对象
 comboBox1.DataSource = ds;
 comboBox1.DisplayMember = "record.姓名";
 comboBox1.ValueMember = "record.姓名";
情况二:
 cmd.CommandText = "select * from Records";//读取Records里的数据
 SqlDataAdapter da = new SqlDataAdapter();//创建数据适配器对象
 da.SelectCommand = cmd;// 设置sql语句
 DataSet ds = new DataSet();//创建数据集对象   
 da.Fill(ds, "record"); // 使用数据适配器从数据源填充dataset对象
 comboBox1.DisplayMember = "record.姓名";
 comboBox1.ValueMember = "record.姓名";
 comboBox1.DataSource = ds;
请问情况一和情况二有什么区别?

解决方案 »

  1.   

    comboBox1.DataSource  一个前绑定一个后绑定??
      

  2.   

    真的没啥区别...
    在DataBind()之前这三个属性的先后顺序随意的吧
      

  3.   

    da.Fill(ds, "record");这句话你这边已经填充过数据集了,所以把DataBind()放在前后没有区别
      

  4.   

    情况一:
     cmd.CommandText = "select * from Records";//读取Records里的数据
     SqlDataAdapter da = new SqlDataAdapter();//创建数据适配器对象
     da.SelectCommand = cmd;// 设置sql语句
     DataSet ds = new DataSet();//创建数据集对象   
     da.Fill(ds); // 使用数据适配器从数据源填充dataset对象
     comboBox1.DataSource = ds;
     comboBox1.DisplayMember = "姓名";
     comboBox1.ValueMember = "姓名";
    情况二:
     cmd.CommandText = "select * from Records";//读取Records里的数据
     SqlDataAdapter da = new SqlDataAdapter();//创建数据适配器对象
     da.SelectCommand = cmd;// 设置sql语句
     DataSet ds = new DataSet();//创建数据集对象   
     da.Fill(ds); // 使用数据适配器从数据源填充dataset对象
     comboBox1.DisplayMember = "姓名";
     comboBox1.ValueMember = "姓名";
     comboBox1.DataSource = ds;
    请问情况一和情况二有什么区别?
      

  5.   

    个人感觉没区别,这个就像DataGridView中在指定DataSource前,绑定数据表的column使其显示具体字段名一样。