public void Converts_Decimal_Parameter_To_Double()
        {
            using (var culture = new ContextCultureSwitch(new CultureInfo("sv-SE")))
            {
                JetDbCommand   cmd          = new JetDbCommand("SELECT * FROM [DecimalEntity] WHERE SimpleDecimal = @SimpleDecimal");
                OleDbParameter decimalParam = (OleDbParameter)cmd.CreateParameter();

                decimalParam.DbType        = DbType.Decimal;
                decimalParam.ParameterName = "@SimpleDecimal";
                decimalParam.SourceColumn  = "SimpleDecimal";
                decimalParam.Value         = decimal.Parse("1,1", culture.Current); //Some culture use comma for decimal separator

                cmd.Parameters.Add(decimalParam);
                cmd.GetType().GetMethod("CheckParameters", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.InvokeMethod).Invoke(cmd, null);

                IDataParameter parameter = (IDataParameter)cmd.Parameters[0];

                Assert.That(parameter.DbType, Is.EqualTo(DbType.Double));
                Assert.That(parameter.Value, Is.EqualTo(1.1m));
            }
        }
Ejemplo n.º 2
0
        public void Converts_Decimal_Parameter_To_Double()
        {
            using (var culture = new ContextCultureSwitch(new CultureInfo("sv-SE")))
            {
                JetDbCommand cmd = new JetDbCommand("SELECT * FROM [DecimalEntity] WHERE SimpleDecimal = @SimpleDecimal");
                OleDbParameter decimalParam = (OleDbParameter)cmd.CreateParameter();

                decimalParam.DbType = DbType.Decimal;
                decimalParam.ParameterName = "@SimpleDecimal";
                decimalParam.SourceColumn = "SimpleDecimal";
                decimalParam.Value = decimal.Parse("1,1", culture.Current); //Some culture use comma for decimal separator

                cmd.Parameters.Add(decimalParam);
                cmd.GetType().GetMethod("CheckParameters", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.InvokeMethod).Invoke(cmd, null);

                IDataParameter parameter = (IDataParameter)cmd.Parameters[0];

                Assert.That(parameter.DbType, Is.EqualTo(DbType.Double));
                Assert.That(parameter.Value, Is.EqualTo(1.1m));
            }
        }