日期:2014-05-17  浏览次数:20832 次

datatable写入access的疑问
以下代码运行时没出错,但数据就是不能写入,求高人指点。
            string cmdstr = "select * from Item where ID=" + Session["CID"];
            DB db = new DB();
            DataTable dt = new DataTable();
            dt = db.reDt2(cmdstr);//已经确认dt里有数据
            OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + System.Web.HttpContext.Current.Server.MapPath(@"~\App_Data\DataBase2.aspx") + ";Persist Security Info=False");
            OleDbDataAdapter da = new OleDbDataAdapter("select * from tb_dia where 1=2", conn);//试过改成select * from tb_dia也不行
            OleDbCommandBuilder cmb = new OleDbCommandBuilder(da);
            da.Update(dt);
            ClientScript.RegisterStartupScript(ClientScript.GetType(), "myscript", "<script>alert('操作成功!');</script>");
以上代码运行后能执行“操作成功”,但实际数据并没有写入数据库。数据库的结构跟datatable一样(从另一数据库复制过来的数据存入datatable的),其中,有个ID值是ACCESS中的“自动数值”,不知道是否这个引起的问题,但我把目标数据库中的ID值改为“文本”格式也不行。
Access

------解决方案--------------------
da.fill(dt)试下;