Save DataTable/DataRow |
Top Previous Next |
对于一个修改、删除或新增过记录的DataTable或DataRow,可以使用Database.Save()方法直接Save回数据库,Database会根据需要执行insert、delete或update。并且,Save()方法支持批处理,指定batchSize为每次批处理执行的SQL命令数。该批处理支持是由DataAdapter的BatchUpdate提供的,根据MSDN文档,目前,只有SQL SERVER和Oracle数据库支持,其他数据库会忽略该参数。
例如:
SelectSqlSection selectSection = db.Select(Northwind.Categories) .Where(Northwind.Categories.CategoryID == catID) .OrderBy(Northwind.Categories.CategoryID.Desc) .SetSelectRange(1, 0, Northwind.Categories.CategoryID); DataTable dt = selectSection.ToDataSet().Tables[0];
dt.Rows[0]["CategoryName"] = "modified";
db.Save(selectSection.ToDbCommand(), 10, dt);
dt.Rows[0]["CategoryName"] = "modified2";
DataRow newRow = dt.NewRow(); newRow["CategoryName"] = "new"; dt.Rows.Add(newRow);
db.Save(selectSection.ToDbCommand(), tran, 0, dt.Rows[0], dt.Rows[1]);
|