Ejemplo n.º 1
0
        /// <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));
        }
Ejemplo n.º 2
0
        /// <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);
        }