用手动绑定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
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
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
{
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");
}