public void Test(GeneralDbType inpuType, SqlDbType expectedType)
        {
            // Arrange

            // Act
            var result = SqlClientConnManager.MapGeneralDbTypeToSqlDbType(inpuType);

            // Assert
            Assert.AreEqual(expectedType, result);
        }
        public void TestFillDataTableSelectSheet()
        {
            var path = Path.Combine(FileHelper.TempPath, "openxml.xlsx");

            if (File.Exists(path))
            {
                File.Delete(path);
            }

            var db = SqlClientConnManager.GetConnManager("Data Source=.\\SQLEXPRESS;Initial Catalog=MediaDb;Integrated Security=True");
            var dt = db.GetDataTable("select top 1000 * from settings");

            var oe = new XlsxOpenXml();

            oe.Status            += ExcelStatus;
            oe.Error             += ExcelError;
            oe.NumberFormatDouble = "#,##0.000000";
            oe.NewWorkbook(path);

            //oe.NewSheet("Daten");
            oe.SelectSheet("Tabelle1");



            ////oe.SelectSheetFirst("Daten");
            ////oe.SelectSheet(1);
            //////oe.SelectRange("A1");
            oe.SelectRange(1, 1);
            oe.Style = XlsxStyles.Header;
            oe.SetValue("Hallo Welt1");
            oe.FillDataTable(dt, 4, 1);

            //oe.NewSheet("Daten2");

            //oe.SelectSheetFirst("Daten");
            //oe.SelectSheet(1);
            ////oe.SelectRange("A1");
            oe.SelectRange(1, 1);
            oe.Style = XlsxStyles.Header;
            oe.SetValue("Hallo Welt2");
            oe.FillDataTable(dt, 4, 1);

            oe.Quit();

            FileHelper.StartExcel(path);
        }
        /// <summary>
        /// Get meta data from a SQL statement
        /// </summary>
        /// <param name="connectionString">Connection string to use</param>
        /// <param name="entityName">Name of the entity class</param>
        /// /// <param name="cmd">Current command to get meta data for</param>
        /// <param name="nameOfPrimaryKeyField">Name of the primary key field. Default: null</param>
        public override void GetMetaData(string connectionString, string entityName, DbCommand cmd, string nameOfPrimaryKeyField = null)
        {
            var table = new MetaDataTable {
                Name = entityName
            };

            IConnManager db = new SqlClientConnManager(connectionString);

            table.Sql = cmd.CommandText;

            // Act
            var reader = (SqlDataReader)db.GetDataReader(cmd);

            //
            var schema = reader.GetColumnSchema();

            for (var i = 0; i < schema.Count; i++)
            {
                var col = schema[i];

                var colItem = new MetaDataField
                {
                    Name           = col.ColumnName,
                    DatabaseType   = col.DataType,
                    SourceDataType = reader.GetProviderSpecificFieldType(i).ToString(),
                    IsPrimaryKey   = col.ColumnName == nameOfPrimaryKeyField
                };

                //Debug.Print(colItem.SourceDataType);

                if (col.ColumnSize != null)
                {
                    colItem.MaxLength = (int)col.ColumnSize;
                }

                table.Fields.Add(colItem);
            }
            Table = table;
        }
Esempio n. 4
0
        public void TestFillDataTable()
        {
            var db = SqlClientConnManager.GetConnManager("Data Source=.\\SQLEXPRESS;Initial Catalog=MediaDb;Integrated Security=True");
            var dt = db.GetDataTable("select top 1000 * from settings");

            var excel = new ExcelLateBinding();

            excel.Status += ExcelStatus;
            excel.NewWorkbook();
            //if (e.ErrorCode != 0) return;

            //excel.NewSheet("Daten");
            excel.SelectSheetFirst("TransactionData");
            excel.Header("Test");
            excel.NumberFormat = "#,##0.000000";
            excel.FillDataTable(dt, 4, 1);

            excel.NewSheet("Daten2");
            excel.Header("Test2");
            excel.NumberFormat = "#,##0.00";
            excel.FillDataTable(dt, 4, 1);

            excel.Quit();
        }
 public void Setup()
 {
     _db = SqlClientConnManager.GetConnManager(_connectionString);
 }