string str = "initial catalog = StudentMS;data source = .; integrated security = true";
            SqlConnection conn = new SqlConnection(str);
            string sql = "select tmi_username,tmi_name,tmi_sex,tmi_department,tmi_situation from Tmoreinfo ";            conn.Open();
            SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
            DataSet ds = new DataSet();
            sda.Fill(ds, "Tmoreinfo");
            System.Windows.Forms.Binding newBinding;
            newBinding = new System.Windows.Forms.Binding("Text", ds, "TeacherinfoOpreation.tmi_username");
            this.txt_id.DataBindings.Add(newBinding);这段代码实现在运行时绑定文本框TextBox控件txt_id,但是运行时出现“无法创建字段TeacherinfoOperation的子列表”错误,
希望各位高手帮忙看看错在哪,谢谢

解决方案 »

  1.   

    不一致
    DataTable dt= getDataTable();textBox1.DataBindings.Add("Text", dt, "name");
      

  2.   


    用BindingSource!
    BindingSource bs=new BingdingSource(ds,"Tmoreinfo");
    this.txt_id.DataBindings.Add("Text", bs, "tmi_username")
      

  3.   

                BindingSource bs = new BindingSource(ds, "Tmoreinfo");
                this.txt_id.DataBindings.Add("Text",ds,"tmi_username");
    试过了,但出现“无法绑定到DataSource的属性或列 tmi_username 参数名: dataMember”
      

  4.   

    tmi_username是不是Tmoreinfo表的一个字段?
      

  5.   


    用BindingSource!
    //定义时指定绑定到某个数据集的某个表
    BindingSource bs=new BingdingSource(ds,"Tmoreinfo");
    //绑定时,指定绑定的属性,这里是Text,数据源,这里是bs,数据源中的数据成员,这里是tmi_username
    //所以必须保证tmi_username是Tmoreinfo表的一个字段
    this.txt_id.DataBindings.Add("Text", bs, "tmi_username")
      

  6.   

    对,tmi_username是Tmoreinfo的主键
      

  7.   

    这样写的吗?string str = "initial catalog = StudentMS;data source = .; integrated security = true";
      SqlConnection conn = new SqlConnection(str);
      string sql = "select tmi_username,tmi_name,tmi_sex,tmi_department,tmi_situation from Tmoreinfo ";  conn.Open();
      SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
      DataSet ds = new DataSet();
      sda.Fill(ds, "Tmoreinfo");BindingSource bs = new BindingSource(ds, "Tmoreinfo");
      this.txt_id.DataBindings.Add("Text",ds,"tmi_username");
      

  8.   

       public void load()
            {
                Bind();//绑定控件            string str = "initial catalog = StudentMS;data source = .; integrated security = true";
                SqlConnection conn = new SqlConnection(str);
                string sql = "select tmi_username,tmi_name,tmi_sex,tmi_department,tmi_situation from Tmoreinfo ";            conn.Open();
                SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
                DataSet ds = new DataSet();
                sda.Fill(ds, "Tmoreinfo");
                cm = (CurrencyManager)BindingContext[ds, "Tmoreinfo"];
                cm.CurrentChanged += new EventHandler(cm_CurrentChanged);
                cm.PositionChanged += new EventHandler(cm_PositionChanged);            disupdate();//显示当前记录位置
            }        public void cm_CurrentChanged(object sender, EventArgs e)
            {
                disupdate();//显示当前记录位置
            }        public void cm_PositionChanged(object sender, EventArgs e)
            {
                disupdate();//显示当前记录位置
            }
            //显示当前记录位置
            public void disupdate()
            {
                int crIndex = cm.Position + 1;            this.txt_showinfo.Text = "Teacher" + " " + crIndex.ToString() + " " + "of" + " " + cm.Count.ToString();
            }
     // 返回第一条
            private void btn_firstpage_Click(object sender, EventArgs e)
            {
                
                
                cm.Position = 0;
               
               
            }        //返回上一条
            private void btn_lastpage_Click(object sender, EventArgs e)
            {            if (cm.Position <= cm.Count - 1)
                {
                    cm.Position -= 1;
                              }
            }        // 跳转下一条
            private void btn_nextpage_Click(object sender, EventArgs e)
            {
                            if (cm.Position >= 0)
                {
                    cm.Position += 1;
                    
                }
            }        // 跳转最后一条
            private void btn_endpage_Click(object sender, EventArgs e)
            {
               
              
                cm.Position = cm.Count - 1;
              
                      }"cm"为定义的成员变量 "  CurrencyManager cm;" ,我是希望实现点击bottom控件实现显示数据库中的上、下、第一条、最后一条信息,但是按上面的代码无法实现这个功能,还望大哥再帮帮小弟,谢谢了
      

  9.   

    CurrencyManager改掉,换成BindingNavigator
    [code=C#
    Me.BindingNavigator1.BindingSource = bs
    [/code]BindingNavigator是.net提供的导航控件。
      

  10.   

    BindingNavigator控件,我没有用过,不知您能不能在说的详细一点,谢谢
      

  11.   


    this.BindingNavigator1.BindingSource = bs
    BindingNavigator1控件可以自动调用BindingSource.MoveFirst、MoveNext、MovePrevious、MoveLast方法进行记录导航,你不要自己去画按钮: