Я подхожу к базе данных Access 2007, используя Microsoft.ACE.OLEDB.12.0. Содержит таблицу
создан с использованием
CREATE TABLE reccs(decimalField decimal(28,9))
, который должен иметь эту точность и масштаб. Я добавляю строку, используя
string s = "INSERT INTO [reccs]([minQuantity]) VALUES(@minQuantity)";
object o = ...;
oleDbCommand = new OleDbCommand(s, conn);
OleDbParameter param = new OleDbParameter("minQuantity", o);
oleDbCommand.Parameters.Add(param).Value = o;
oleDbCommand.ExecuteNonQuery();
Иногда (в зависимости от точного десятичного числа в o) выдается System.Data.OleDb.OleDbException: точность десятичного поля слишком мала, чтобы принять числовое значение, которое вы пытались добавить. Я читаю
этот пост, посвященный настройке десятичной точности в c #, но решение проблемы подобным образом кажется счастливым, и я не уверен, ГАРАНТИРУЕТ ли оно, что исключение не будет выдано. Есть лучшие предложения?