/// <summary> /// 資料表是否存在 /// </summary> /// <param name="tableName"></param> /// <returns></returns> private bool TableExists(string tableName) { var sql = new StringBuilder(); sql.AppendLine("Select A.name as TableName, B.name as ColumnName"); sql.AppendLine("From sys.tables A"); sql.AppendLine("Inner Join sys.columns B On A.object_id = B.object_id"); sql.AppendLine($"Where A.name = {tableName.SQLStr()}"); var result = this.DbAccess.ExecuteDataTable(this.DatabaseID, sql.ToString()); return(!DataFunc.IsEmpty(result)); }
/// <summary> /// 使用SqlBulkCopy大量新增資料 /// </summary> /// <param name="databaseID">資料庫編號</param> /// <param name="progID">程式定義代碼</param> /// <param name="tableName">資料定義代碼</param> /// <param name="table">資料表</param> public void SqlBulkCopy(string databaseID, string progID, string tableName, DataTable table) { var progDefine = CacheFunc.GetProgramDefine(progID); var tableDefine = progDefine.Tables[tableName]; if (tableDefine == null || !tableDefine.IsCreateDbTable || DataFunc.IsEmpty(table)) { return; } var sqlBulkCopy = CreateSqlBulkCopy(databaseID, tableDefine, table); SqlBulkCopy(sqlBulkCopy, table); }