|
|
|
Access + Decimal = type mismatch
|
|||
|---|---|---|---|
|
#18+
Си шарп, Access. Проблема при insert-e поля decimal, когда в региональных настройках винды стоят точки в качестве разделителя целой и дробной части. Несоответствие типов данных. Тип в базе тоже decimal. Вот код: string ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\"test.mdb\";"; OleDbConnection connection = new OleDbConnection(ConnectionString); string insertcommand = "INSERT INTO Test (DecimalField, Id) VALUES (?, ?)"; OleDbCommand command = new OleDbCommand(insertcommand, connection); OleDbParameter param = new OleDbParameter("@DecimalField", 999.99M); param.DbType = DbType.Decimal; command.Parameters.Add(param); command.Parameters.Add(new OleDbParameter("@Id", Guid.NewGuid())); connection.Open(); command.ExecuteNonQuery(); string exep = ex.Message; connection.Close(); Я так понимаю нужно изменить локаль для Access, например через connectionString, но как пока не выяснил. Может кто сталкивался? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2008, 09:11 |
|
||
|
Access + Decimal = type mismatch
|
|||
|---|---|---|---|
|
#18+
вы с горя на ADO forum перешли? Я ж говорю, попробуйте при вставке конвертнуть decimal в string, изменить разделитель и попытаться вставить строку в поле decimal - Access это допускает, сам так делал, только с double ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2008, 10:56 |
|
||
|
Access + Decimal = type mismatch
|
|||
|---|---|---|---|
|
#18+
В парметр переменную типа currency передавайте и все ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2008, 12:42 |
|
||
|
Access + Decimal = type mismatch
|
|||
|---|---|---|---|
|
#18+
кстати да currency тоже пробовал с ним все нормально. Но вот что начальник скажет в понедельник узнаем :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2008, 14:24 |
|
||
|
Access + Decimal = type mismatch
|
|||
|---|---|---|---|
|
#18+
Тип поменять не проблема, но вот вопросы такие есть: Почему именно проблемы с decimal? Почему ошибка возникает именно тогда, когда разделитель и для чисел и для денежных единиц стоит ","? Почему когда я делаю GetSchema() - возвращается инвариантная культура? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2008, 19:26 |
|
||
|
Access + Decimal = type mismatch
|
|||
|---|---|---|---|
|
#18+
У OleDnCommand параметры Precision и Scale устанавливать не пробовали? Вроде должно помочь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2008, 04:36 |
|
||
|
Access + Decimal = type mismatch
|
|||
|---|---|---|---|
|
#18+
http://www.aspnetmania.com/Forums/ForumMessage/11563.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2008, 08:34 |
|
||
|
|

start [/forum/topic.php?fid=17&msg=35281984&tid=1352298]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
51ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 205ms |
| total: | 347ms |

| 0 / 0 |
