用手动绑定bindingNavigator后,按新增按钮总记录数会增加1 ,但当前记录不变,对应的文本框内容也没有清空,代码如下:using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;namespace EMP_Code_
{
    public partial class Form1 : Form
    {
        SqlConnection Cn=new SqlConnection ();
        DataSet myDataSet = new DataSet();
        SqlDataAdapter myAdapter;
        BindingSource myBindingSource;
        SqlCommandBuilder myCommandBuilder;        public Form1()
        {
            InitializeComponent();
        }        private void Form1_Load(object sender, EventArgs e)
        {
            Cn.ConnectionString = "Server=127.0.0.1;uid=sa;pwd=;database=Northwind";
            Cn.Open();            string SQL = "select * from emp";
            myAdapter = new SqlDataAdapter(SQL, Cn);
            myAdapter.Fill(myDataSet, "emp");
            myBindingSource = new BindingSource(myDataSet, "emp");
            bindingNavigator1.BindingSource = myBindingSource;
            myCommandBuilder = new SqlCommandBuilder(myAdapter);
            BindingControl();
            
        }        private void BindingControl()
        {
            
            txtEmpNo.DataBindings.Add("Text", myBindingSource, "empNo");
            txtEmpName.DataBindings.Add("Text", myBindingSource, "empName");
            txtEmpDept.DataBindings.Add("Text", myBindingSource, "empDept");
            txtEmpSalary.DataBindings.Add("Text", myBindingSource, "empSalary");
            txtEmpRe.DataBindings.Add("Text", myBindingSource, "empRe");
            cbEmpSex.DataBindings.Add("Text", myBindingSource, "empSex");
            dtpEmpBirth.DataBindings.Add("Value", myBindingSource, "empBirth");
        }        private void bindingNavigatorSaveItem_Click(object sender, EventArgs e)
        {
            myBindingSource.EndEdit();
            myAdapter.Update(myDataSet.Tables["emp"]);
        }    }
}
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[EMP]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[EMP]
GOCREATE TABLE [dbo].[EMP] (
[empNo] [char] (5) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[empName] [varchar] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[empDept] [char] (5) COLLATE Chinese_PRC_CI_AS NULL ,
[empSex] [char] (2) COLLATE Chinese_PRC_CI_AS NULL ,
[empBirth] [datetime] NULL ,
[empSalary] [numeric](8, 2) NULL ,
[empRe] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL 
) ON [PRIMARY]
GOALTER TABLE [dbo].[EMP] WITH NOCHECK ADD 
CONSTRAINT [PK_EMP] PRIMARY KEY  CLUSTERED 
(
[empNo]
)  ON [PRIMARY] 
GO

解决方案 »

  1.   

    刚刚SQL部分COPY到外面去了
    if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[EMP]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) 
    drop table [dbo].[EMP] 
    GO CREATE TABLE [dbo].[EMP] ( 
    [empNo] [char] (5) COLLATE Chinese_PRC_CI_AS NOT NULL , 
    [empName] [varchar] (10) COLLATE Chinese_PRC_CI_AS NOT NULL , 
    [empDept] [char] (5) COLLATE Chinese_PRC_CI_AS NULL , 
    [empSex] [char] (2) COLLATE Chinese_PRC_CI_AS NULL , 
    [empBirth] [datetime] NULL , 
    [empSalary] [numeric](8, 2) NULL , 
    [empRe] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL 
    ) ON [PRIMARY] 
    GO ALTER TABLE [dbo].[EMP] WITH NOCHECK ADD 
    CONSTRAINT [PK_EMP] PRIMARY KEY  CLUSTERED 

    [empNo] 
    )  ON [PRIMARY] 
    GO
      

  2.   

    问题已经解决        private void BindingControl()
            {
                
                txtEmpNo.DataBindings.Add("Text", myBindingSource, "empNo");
                txtEmpName.DataBindings.Add("Text", myBindingSource, "empName");
                txtEmpDept.DataBindings.Add("Text", myBindingSource, "empDept");
                txtEmpSalary.DataBindings.Add("Text", myBindingSource, "empSalary");
                txtEmpRe.DataBindings.Add("Text", myBindingSource, "empRe");
                cbEmpSex.DataBindings.Add("Text", myBindingSource, "empSex");
                //dtpEmpBirth.DataBindings.Add("Value", myBindingSource, "empBirth");
                //改为:
                dtpEmpBirth.DataBindings.Add("Text", myBindingSource, "empBirth");
            }