public static OleDbConnection conDB()
        {
          string strPath = Application.StartupPath + "\\db.mdb";  //要连接的数据库的路径
          string strConStr = "Provider=Microsoft.Jet.OlEDB.4.0;Data source=" + strPath;        
           OleDbConnection myConn = new OleDbConnection(strConStr);
          return myConn;
        }
OleDbConnection con = DBcon.conDB();
            con.Open();string strInsert = " INSERT INTO router (用户,名称,类型) VALUES ('aaa','aaa','aaa')";
            OleDbCommand cmd =   new   OleDbCommand(strInsert,con); 
            cmd.ExecuteNonQuery();
                       DataSet myDataSet = new DataSet(); //创建一个 DataSet                                       
            string strCom = "SELECT * FROM router";  //检索的数据          
            OleDbDataAdapter myCommand = new OleDbDataAdapter(strCom, con);
            myCommand.Fill(myDataSet); //把Dataset绑定数据表
            this.dataGridView1.DataSource = myDataSet.Tables[0];dataGridView中显示插入成功,我打开ACCESS没有更新记录,还是原来的内容。数据库字段我全设置为文本类型了

解决方案 »

  1.   

    检查是不是这个原因:
    VS中的ACCESS文件跟调试时的ACCESS文件不是同一个路径,如果你调试的时候显示成功,表示你在解决方案下的Bin\Debug或者Bin\Release文件更改成功,如果这个时候你去看解决方案下的ACCESS文件,是没有更新的。
      

  2.   


    什么意思?指教。
    我的一个测试代码:
    namespace DBTEST
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
                
            }        private void Form1_Load(object sender, EventArgs e)
            {
                OleDbConnection con = DBcon.conDB();
                con.Open();
                string strCom = "SELECT * FROM router";  //检索的数据          
                OleDbDataAdapter myCommand = new OleDbDataAdapter(strCom, con);
                DataSet myDataSet = new DataSet();                                      
               myCommand.Fill(myDataSet); //把Dataset绑定数据表
                this.dataGridView1.DataSource = myDataSet.Tables[0].DefaultView;      this.dataGridView2.DataSource = myDataSet.Tables[0];
            }       
            private void btnInsert_Click(object sender, EventArgs e)
            {上面发的代码
               }
      

  3.   

    有一点是调试时候dataGridView1 中 添加的‘aaa'是有的, 然后VS关了再打开,dataGridView1 中 添加的‘aaa'还是有的,但是当我手动在ACCESS中添加router表中的内容,然后运行前当添的‘aaa'就没有了,手动加入的内容显示出来了