Как экспортировать десятичное число c # в поле OLEDB Decimal (28,9) - PullRequest
1 голос
/ 20 сентября 2010

Я подхожу к базе данных 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 #, но решение проблемы подобным образом кажется счастливым, и я не уверен, ГАРАНТИРУЕТ ли оно, что исключение не будет выдано. Есть лучшие предложения?

...