OleDbParameter Exception
От: valmond Россия http://blogs.technet.com/valmond/
Дата: 31.08.05 14:19
Оценка:
Работаю с базой Access

Добавляю параметр в команду.
Задаю явный тип параметра

OleDbType.Decimal


Пока идут целые значения — все работает...как только попадается с десятичной частью — все вываливается по исключению

System.Data.OleDb.OleDbException : Data type mismatch in criteria expression.


Пробовал менять NumberFormatInfo у текущего потока не помогает.

XP Prof, локаль русская.
Заметки — SharePoint & InfoPath
http://blogs.technet.com/valmond/
Re: OleDbParameter Exception
От: nauro Украина  
Дата: 31.08.05 14:30
Оценка:
Здравствуйте, valmond, Вы писали:

V>Работаю с базой Access


V>Добавляю параметр в команду.

V>Задаю явный тип параметра
V>

V>OleDbType.Decimal


V>Пока идут целые значения — все работает...как только попадается с десятичной частью — все вываливается по исключению


V>

System.Data.OleDb.OleDbException : Data type mismatch in criteria expression.


V>Пробовал менять NumberFormatInfo у текущего потока не помогает.


V>XP Prof, локаль русская.

Помоему тебе просто нужен тип OleDbType.Numeric
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
-----------------------------------------
тут может быть ваша реклама
Re: OleDbParameter Exception
От: adontz Грузия http://adontz.wordpress.com/
Дата: 31.08.05 14:34
Оценка:
Здравствуйте, valmond, Вы писали:

А в БД таблица как выглядит? Какой там тип у столбца?
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[2]: OleDbParameter Exception
От: valmond Россия http://blogs.technet.com/valmond/
Дата: 31.08.05 14:46
Оценка:
A>А в БД таблица как выглядит? Какой там тип у столбца?

Number Decimal 20 2
Заметки — SharePoint & InfoPath
http://blogs.technet.com/valmond/
Re[2]: OleDbParameter Exception
От: valmond Россия http://blogs.technet.com/valmond/
Дата: 31.08.05 14:47
Оценка:
N>Помоему тебе просто нужен тип OleDbType.Numeric
FormatException
Input string was not in a correct format.
Заметки — SharePoint & InfoPath
http://blogs.technet.com/valmond/
Re[3]: OleDbParameter Exception
От: nauro Украина  
Дата: 31.08.05 14:49
Оценка:
Здравствуйте, valmond, Вы писали:


N>>Помоему тебе просто нужен тип OleDbType.Numeric

V>FormatException
V>Input string was not in a correct format.
Мда, тогда однозначно изза знака-разделителя десятичной части. попробуй простым запросом сделать тоже самое и определи каким оно принимает, а потом уж сделай в проге так как надо
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
-----------------------------------------
тут может быть ваша реклама
Re[4]: OleDbParameter Exception
От: valmond Россия http://blogs.technet.com/valmond/
Дата: 31.08.05 14:52
Оценка:
N>Мда, тогда однозначно изза знака-разделителя десятичной части. попробуй простым запросом сделать тоже самое и определи каким оно принимает, а потом уж сделай в проге так как надо

Если я ставлю в региональных настройках (напомню. стоит русская локаль) разделитель десятичных цифр вместо запятой точку, то все работает.
Но я не хочу быть завязанным на "тонкий тюнинг".
Заметки — SharePoint & InfoPath
http://blogs.technet.com/valmond/
Re: решение проблемы
От: valmond Россия http://blogs.technet.com/valmond/
Дата: 31.08.05 14:54
Оценка:
нашел в гугле решение.

задать тип параметра OleDbType.Variant
при присваивании значения параметра делать decimalValue.ToString()


бред какой-то.
Заметки — SharePoint & InfoPath
http://blogs.technet.com/valmond/
Re[3]: OleDbParameter Exception
От: rockandroll Казахстан  
Дата: 01.09.05 03:34
Оценка:
Здравствуйте, valmond, Вы писали:

A>>А в БД таблица как выглядит? Какой там тип у столбца?


V>Number Decimal 20 2


А Scale и Precision у параметра выставляешь?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[4]: OleDbParameter Exception
От: valmond Россия http://blogs.technet.com/valmond/
Дата: 01.09.05 05:15
Оценка:
V>>Number Decimal 20 2

R>А Scale и Precision у параметра выставляешь?
Заметки — SharePoint & InfoPath
http://blogs.technet.com/valmond/
Re[5]: OleDbParameter Exception
От: rockandroll Казахстан  
Дата: 01.09.05 07:04
Оценка:
Здравствуйте, valmond, Вы писали:

V>>>Number Decimal 20 2


R>>А Scale и Precision у параметра выставляешь?


Может код покажешь?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[6]: OleDbParameter Exception
От: Аноним  
Дата: 26.04.06 13:33
Оценка:
Здравствуйте, rockandroll, Вы писали:
R>Может код покажешь?
а вот у меня почти такая же проблема. поле в акцессе типа Number, размер Long Integer, c количество знаков после зяпятой 0

в качество типов полей пихаем:
OleDbType[] prmtypes = new OleDbType[] { OleDbType.VarWChar, OleDbType.VarWChar, OleDbType.BigInt };

создаём параметры:
rms[i] = new OleDbParameter("", prmtypes[i]);
prms[i].Value = ...;

при вызове запроса валится Data type mismatch in criteria expression
пробовал разные численные типа подставлять, и менять размер — не помогает
если убрать из запроса третий численный параметр — всё работает.
Re[7]: OleDbParameter Exception
От: rockandroll Казахстан  
Дата: 28.04.06 03:10
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>а вот у меня почти такая же проблема. поле в акцессе типа Number, размер Long Integer, c количество знаков после зяпятой 0


А>в качество типов полей пихаем:

А>OleDbType[] prmtypes = new OleDbType[] { OleDbType.VarWChar, OleDbType.VarWChar, OleDbType.BigInt };

А если попробовать OleDbType.Integer?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[8]: OleDbParameter Exception
От: valmond Россия http://blogs.technet.com/valmond/
Дата: 28.04.06 06:35
Оценка:
Я ж вроде рядом написал решение уже.
http://www.rsdn.ru/Forum/Message.aspx?mid=1356497&amp;only=1
Автор: valmond
Дата: 31.08.05
Заметки — SharePoint & InfoPath
http://blogs.technet.com/valmond/
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.