protected void PrepareDataTable(SqliteDataReader reader, EbDataTable dt)
        {
            try
            {
                int _fieldCount = reader.FieldCount;

                for (int i = 0; i < _fieldCount; i++)
                {
                    dt.Columns.Add(new EbDataColumn
                    {
                        ColumnName  = reader.GetName(i),
                        ColumnIndex = i,
                        Type        = DbTypeConverter.ConvertToDbType(reader.GetFieldType(i))
                    });
                }

                while (reader.Read())
                {
                    EbDataRow dr     = dt.NewDataRow();
                    object[]  oArray = new object[_fieldCount];
                    reader.GetValues(oArray);
                    dr.AddRange(oArray);
                    dt.Rows.Add(dr);
                }
            }
            catch (Exception ex)
            {
                EbLog.Error(ex.Message);
            }
        }
Esempio n. 2
0
        private DbParameter AddParamInner <T>(string name, T val, ParameterDirection direction, int size = 0, byte precision = 0, byte scale = 0)
        {
            if (name is null)
            {
                throw new ArgumentNullException(nameof(name));
            }

            DbParameter param = _cmd.CreateParameter();

            param.ParameterName = name;
            param.Value         = (object)val ?? DBNull.Value;
            param.Direction     = direction;
            param.DbType        = DbTypeConverter.ConvertToDbType <T>();
            param.Size          = size;
            param.Precision     = precision;
            param.Scale         = scale;

            _cmd.Parameters.Add(param);
            return(param);
        }
Esempio n. 3
0
        public void ConvertToDbTypeTest()
        {
            // Arrange.
            var converter = new DbTypeConverter();

            // Act / Assert.
            Assert.AreEqual(DbType.AnsiString, converter.ConvertToDbType(DbDataType.AnsiString));
            Assert.AreEqual(DbType.Binary, converter.ConvertToDbType(DbDataType.Binary));
            Assert.AreEqual(DbType.Byte, converter.ConvertToDbType(DbDataType.Byte));
            Assert.AreEqual(DbType.Boolean, converter.ConvertToDbType(DbDataType.Boolean));
            Assert.AreEqual(DbType.Currency, converter.ConvertToDbType(DbDataType.Currency));
            Assert.AreEqual(DbType.Date, converter.ConvertToDbType(DbDataType.Date));
            Assert.AreEqual(DbType.DateTime, converter.ConvertToDbType(DbDataType.DateTime));
            Assert.AreEqual(DbType.Decimal, converter.ConvertToDbType(DbDataType.Decimal));
            Assert.AreEqual(DbType.Double, converter.ConvertToDbType(DbDataType.Double));
            Assert.AreEqual(DbType.Guid, converter.ConvertToDbType(DbDataType.Guid));
            Assert.AreEqual(DbType.Int16, converter.ConvertToDbType(DbDataType.Int16));
            Assert.AreEqual(DbType.Int32, converter.ConvertToDbType(DbDataType.Int32));
            Assert.AreEqual(DbType.Int64, converter.ConvertToDbType(DbDataType.Int64));
            Assert.AreEqual(DbType.Object, converter.ConvertToDbType(DbDataType.Object));
            Assert.AreEqual(DbType.SByte, converter.ConvertToDbType(DbDataType.SByte));
            Assert.AreEqual(DbType.Single, converter.ConvertToDbType(DbDataType.Single));
            Assert.AreEqual(DbType.String, converter.ConvertToDbType(DbDataType.String));
            Assert.AreEqual(DbType.Time, converter.ConvertToDbType(DbDataType.Time));
            Assert.AreEqual(DbType.UInt16, converter.ConvertToDbType(DbDataType.UInt16));
            Assert.AreEqual(DbType.UInt32, converter.ConvertToDbType(DbDataType.UInt32));
            Assert.AreEqual(DbType.UInt64, converter.ConvertToDbType(DbDataType.UInt64));
            Assert.AreEqual(DbType.VarNumeric, converter.ConvertToDbType(DbDataType.VarNumeric));
            Assert.AreEqual(DbType.AnsiStringFixedLength, converter.ConvertToDbType(DbDataType.AnsiStringFixedLength));
            Assert.AreEqual(DbType.StringFixedLength, converter.ConvertToDbType(DbDataType.StringFixedLength));
            Assert.AreEqual(DbType.Xml, converter.ConvertToDbType(DbDataType.Xml));
            Assert.AreEqual(DbType.DateTime2, converter.ConvertToDbType(DbDataType.DateTime2));
            Assert.AreEqual(DbType.DateTimeOffset, converter.ConvertToDbType(DbDataType.DateTimeOffset));
        }