예제 #1
0
        public void TestCreateSqlStatementFromDataTableWithPrimaryKey()
        {
            const string Target =
                "CREATE TABLE [TempTable] (\n[RowID] INT,\n[Col1] VARCHAR(255),\n[Col2] INT\nCONSTRAINT [PK_TempTable] PRIMARY KEY CLUSTERED ([RowID]))\n";

            // create the datatable and add some columns
            var dataTable   = new DataTable();
            var rowIdColumn = new DataColumn()
            {
                DataType = System.Type.GetType("System.Int32"), ColumnName = "RowID", AutoIncrement = true
            };

            dataTable.Columns.Add(rowIdColumn);
            dataTable.Columns.Add(
                new DataColumn()
            {
                DataType = System.Type.GetType("System.String"), ColumnName = "Col1"
            });
            dataTable.Columns.Add(
                new DataColumn()
            {
                DataType = System.Type.GetType("System.Int32"), ColumnName = "Col2"
            });

            DataColumn[] keys = new DataColumn[1];
            keys[0] = rowIdColumn;
            dataTable.PrimaryKey = keys;
            string result = SqlTableBuilder.CreateSqlStatementFromDataTable("TempTable", dataTable);

            Assert.AreEqual(result, Target);
        }
        public void CreateDataTableInDatabaseTest()
        {
            const string TableName = "TempTable";

            // create the datatable and add some columns
            var dataTable = new DataTable();

            dataTable.TableName = TableName;
            dataTable.Columns.Add(
                new DataColumn()
            {
                DataType = Type.GetType("System.Int32"), ColumnName = "RowID", AutoIncrement = true
            });
            dataTable.Columns.Add(
                new DataColumn()
            {
                DataType = Type.GetType("System.String"), ColumnName = "Col1"
            });
            dataTable.Columns.Add(
                new DataColumn()
            {
                DataType = Type.GetType("System.Int32"), ColumnName = "Col2"
            });

            SqlTableBuilder.CreateTableSchemaFromDataTable(testDatabase.ConnectionString, dataTable);

            Assert.IsTrue(this.TableExists(TableName, testDatabase.ConnectionString));
        }
예제 #3
0
        public void TestCreateSqlStatementFromDataTableSimple()
        {
            const string Target = "CREATE TABLE [TempTable] (\n[RowID] INT,\n[Col1] VARCHAR(255),\n[Col2] INT\n)";

            // create the datatable and add some columns
            var dataTable = new DataTable();

            dataTable.Columns.Add(
                new DataColumn()
            {
                DataType = System.Type.GetType("System.Int32"), ColumnName = "RowID", AutoIncrement = true
            });
            dataTable.Columns.Add(
                new DataColumn()
            {
                DataType = System.Type.GetType("System.String"), ColumnName = "Col1"
            });
            dataTable.Columns.Add(
                new DataColumn()
            {
                DataType = System.Type.GetType("System.Int32"), ColumnName = "Col2"
            });
            string result = SqlTableBuilder.CreateSqlStatementFromDataTable("TempTable", dataTable);

            Assert.AreEqual(result, Target);
        }
예제 #4
0
 public SqlChangeTrackingBuilderTrackingTable(SyncTable tableDescription, DbConnection connection, DbTransaction transaction = null)
 {
     this.connection       = connection as SqlConnection;
     this.transaction      = transaction as SqlTransaction;
     this.tableDescription = tableDescription;
     (this.tableName, this.trackingName) = SqlTableBuilder.GetParsers(this.tableDescription);
     this.sqlDbMetadata = new SqlDbMetadata();
 }
예제 #5
0
        internal SqlBulkInsertAdapter(string schemaFileName, string connectionString, int batchSize = 1000)
        {
            this.connectionString = connectionString;
            this.batchSize        = batchSize;
            this.dataTable        = this.GenerateDataTableFromXmlFile(schemaFileName);

            // use the db connections to create table schema in the database
            SqlTableBuilder.CreateTableSchemaFromDataTable(connectionString, this.dataTable);
        }