// 创建临时表
string tempTbName = AppServiceContext.DBService.CreateTemporaryTableName(this.Context);
string strsql = "/*dialect*/create table " + tempTbName + " as select FRECINVBILLNO,FIVCODE,FBILLTYPENAME,FBILLNO from 临时表的模型表 where 1 <> 1";
// 临时表的模型表需要在BOS内绘制一个表模型,实际作用不为存储数据
DBServiceHelper.Execute(this.Context, strsql);
Dictionary<string, DbType> columnInfos = new Dictionary<string, DbType>();
columnInfos.Add("字段1", DbType.String);
columnInfos.Add("字段2", DbType.String);
BulkInsertAdapter bulkInsertAdapter = new BulkInsertAdapter(base.Context, columnInfos, tempTbName, recDataTb.Rows.Count);
// recDataTb为数据 (DataTable)
foreach (DataRow dc in recDataTb.Rows)
{
DataRow newRow = bulkInsertAdapter.NewRow;
newRow["字段1"] = Convert.ToString(dc["字段1"]);
newRow["字段2"] = Convert.ToString(dc["字段2"]);
bulkInsertAdapter.Insert(newRow);
}
bulkInsertAdapter.Finish();
注意:BOS内绘制临时表模型
① 临时表实际作用不为存储数据,只为搭建一个表模型
② 表中的字段的创建,需要自行判断创建。依据为:后续sql查数的条件字段
③ 注意主键是否需要按照标准产品创建,即为FID,不需要的话,则指定某唯一的字段为主键
推荐阅读