示例#1
0
        public static DataSet LoadDataSet(CacheConfiguration pConfig)
        {
            IList <TableConfiguration> tables = pConfig.tables;
            ADOTemplate template = new ADOTemplate();
            DataSet     ds       = new DataSet();

            foreach (TableConfiguration table in tables)
            {
                DataTable dataTable = template.Query(table.Sql, null, null, table.DBName);
                dataTable.PrimaryKey = new DataColumn[] { dataTable.Columns["id"] };

                DataTable dt = dataTable.Copy();
                dt.TableName = table.TableName;
                ds.Tables.Add(dt);
            }
            return(ds);
        }
示例#2
0
        public void Parse(string fileName)
        {
            Application xlApp;
            Workbook    xlWorkBook;
            Worksheet   xlWorkSheet;

            ADOTemplate template = new ADOTemplate();

            xlApp      = new ApplicationClass();
            xlWorkBook = xlApp.Workbooks.Open(fileName, 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);

            for (int iSheet = 1; iSheet <= xlWorkBook.Worksheets.Count; iSheet++)
            {
                xlWorkSheet = (Worksheet)xlWorkBook.Worksheets.get_Item(iSheet);
                range       = xlWorkSheet.UsedRange;

                rowCount = range.Rows.Count;
                if (rowCount < 2)
                {
                    continue;
                }

                colCount = range.Columns.Count;

                this.ReadConfig();

                this.ReadColumns();

                IDbTransaction Transaction = null;
                using (IDbConnection connection = DBUtil.GetConnection(dbName))
                {
                    try
                    {
                        connection.Open();

                        Transaction = connection.BeginTransaction();

                        new TransactionContext(connection, Transaction, ConfigCache.GetDBType(dbName));

                        for (int iRow = 2; iRow <= rowCount; iRow++)
                        {
                            Hashtable data = this.ReadDataRow(iRow);

                            string op = (string)data["$op"];

                            if ("s".Equals(op))
                            {
                                template.Execute((string)data["$sql"], null, null);
                            }
                            else if ("i".Equals(op))
                            {
                                template.Execute(this.insertSql, data);
                            }
                            else if ("d".Equals(op))
                            {
                                template.Execute(this.deleteSql, data);
                            }
                        }

                        Transaction.Commit();
                    }
                    catch (Exception e)
                    {
                        if (Transaction != null)
                        {
                            Transaction.Rollback();
                        }
                        throw e;
                    }
                    finally
                    {
                        if (connection != null && ConnectionState.Open == connection.State)
                        {
                            connection.Close();
                        }
                    }
                }

                ReleaseObject(xlWorkSheet);
            }

            xlWorkBook.Close(true, null, null);
            xlApp.Quit();

            ReleaseObject(xlWorkBook);
            ReleaseObject(xlApp);
        }
示例#3
0
 public ADOTemplateTestClass()
 {
     template = new ADOTemplate();
 }
示例#4
0
文件: AOPTest.cs 项目: zero1036/TGNet
 public DataConsolidationBL()
 {
     template = new ADOTemplate();
 }
示例#5
0
        public static DataSet LoadDataSet(CacheConfiguration pConfig)
        {
            IList<TableConfiguration> tables = pConfig.tables;
            ADOTemplate template = new ADOTemplate();
            DataSet ds = new DataSet();
            foreach (TableConfiguration table in tables)
            {
                DataTable dataTable = template.Query(table.Sql, null, null, table.DBName);
                dataTable.PrimaryKey = new DataColumn[] { dataTable.Columns["id"] };

                DataTable dt = dataTable.Copy();
                dt.TableName = table.TableName;
                ds.Tables.Add(dt);
            }
            return ds;
        }