请问用DataTable如何更新数据库,以ACESS为例。
求“类”、实例或是源代码?

解决方案 »

  1.   


    OleDbConnection con = new OleDbConnection("provider = microsoft.jet.oledb.4.0;data source = Dm.mdb;");
                    con.Open();
                    OleDbCommand cmd = new OleDbCommand("Select * from Wt", con);
                 
                    OleDbDataAdapter da = new OleDbDataAdapter(cmd);
                    DataTable dt = new DataTable();
                    da.SelectCommand = cmd;
                    da.Fill(dt);
                    dt = ttWorkTime;
                    OleDbCommandBuilder cb = new OleDbCommandBuilder(da);
                    da.Update(dt);
                    con.Close();
      

  2.   


     问题一、dt = ttWorkTime;“ttWorkTime”是什么?怎样向dt中写入数据?
     问题二、OleDbCommandBuilder cb = new OleDbCommandBuilder(da)是什么?
      

  3.   

    OleDbCommandBuilder cb = new OleDbCommandBuilder(da);
    这个主要是为了让C#自动为OleDbDataAdapter da生成相对应的DeleteCommand,UpdateCommand!dt = ttWorkTime;这个应该不需要!!
      

  4.   

    OleDbConnection con = new OleDbConnection("provider = microsoft.jet.oledb.4.0;data source = Dm.mdb;");
                    con.Open();
                    OleDbCommand cmd = new OleDbCommand("Select * from Wt", con);
                 
                    OleDbDataAdapter da = new OleDbDataAdapter(cmd);
                    DataTable dt = new DataTable();
                    da.SelectCommand = cmd;
                    da.Fill(dt);
                    dt = ttWorkTime;
                    OleDbCommandBuilder cb = new OleDbCommandBuilder(da);
                    da.Update(dt);
                    con.Close();
    这个数据库打开太早,操作数据库的原则是尽晚的打开,尽早的关闭,至少是在SQL语句之后打开
      

  5.   

    如果用復雜的查詢﹐如:Select * from Wt a left join Wb b on a.code=b.code
    出來的結果﹐能否使用OleDbCommandBuilder﹖
    若不能﹐應該怎樣來更新數據庫比較合理呀?
      

  6.   

    OleDbCommandBuilder cb = new OleDbCommandBuilder(da);
      

  7.   

    谢谢各位。
    在下的问题是:
    问题一、dt = ttWorkTime;“ttWorkTime”是什么?怎样向dt中写入数据?
    问题二、OleDbCommandBuilder cb = new OleDbCommandBuilder(da)是什么?好像没用到?