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)); } }
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)); } }