Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / размерность полей numeric в dbf таблице / 11 сообщений из 11, страница 1 из 1
27.12.2006, 15:14
    #34228209
TaReN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
размерность полей numeric в dbf таблице
Подскажите пожалуйста: создаю dbf таблицу определенной структуры.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
string connString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + CurPath + ";Extended Properties=dBASE III;User ID=Admin;Password=";
              OleDbConnection connDBF = new OleDbConnection(connString);
              connDBF.Open();
               OleDbCommand cmd = new OleDbCommand("CREATE TABLE " + FileName + " ("+
                  "Name char(7), " +
                  "Num numeric(10,3) " +
                  ")",
                  connDBF);

Почему в таблице получается "Num" поле размерностью 20 с 5 знаками после запятой??
Хотя по идее должно получиться размерностью 10 с 3 знаками после запятой...

Заранее благодарен за ответ!!!

-=<TaReN>=-
...
Рейтинг: 0 / 0
12.02.2007, 13:27
    #34323673
3EJIEHbIu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
размерность полей numeric в dbf таблице
Ну например я шаманил (извращался).
Узнал структуру заголовка dbf и руками правил размер полей
Так и не понял как заставить провайдера писать правильные размеры для нумерик :(
...
Рейтинг: 0 / 0
12.02.2007, 15:29
    #34324223
Andrew
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
размерность полей numeric в dbf таблице
это приколы dbase
юзайте VFP провайдера. там такого не будет.
...
Рейтинг: 0 / 0
15.02.2007, 18:05
    #34334611
3EJIEHbIu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
размерность полей numeric в dbf таблице
Там и структура dbf будет FoxPro шная :(
С замечательным полем NullFlags.
Хотя не разбирался. Может в Extended Properties что нибудь записать и FoxPro шный провайдер будет генерить dbf ы в формате dBase III или IV.
...
Рейтинг: 0 / 0
15.02.2007, 18:14
    #34334641
Sergey Ch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
размерность полей numeric в dbf таблице
3EJIEHbIuТам и структура dbf будет FoxPro шная :(
С замечательным полем NullFlags.
Хотя не разбирался. Может в Extended Properties что нибудь записать и FoxPro шный провайдер будет генерить dbf ы в формате dBase III или IV.Нет, не будет... В лучшем случае формат FOXPLUS, который очень близок к dBase III, но для этого надо выдавать дополнительную команду COPY TO с параметром FOXPLUS...
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
18.08.2013, 15:12
    #38370039
megazoid007
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
размерность полей numeric в dbf таблице
Подскажите пожалуйста что то я запутался, у меня в dbf файле поле задано numeric(19,2), какие мне параметры нужно задать в :
Код: c#
1.
2.
OledbCom.Parameters["@price"].Precision = 19;
OledbCom.Parameters["@price"].Scale = 17;


что бы не вылетала ошибка?
...
Рейтинг: 0 / 0
18.08.2013, 17:18
    #38370064
megazoid007
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
размерность полей numeric в dbf таблице
Проблема в том что как только при передачи начинает заливаться дробное значении вылизает эксепшн, до этого целые значения нормально записываются, это происходит несмотря на то что в дбф задано numeric(19,2) что по формату схоже с дробной частью и параметр типа OleDBType.Numeric с Precision = 19 и Scale = 2, данные хранятся в DataTable в поле типа float
...
Рейтинг: 0 / 0
19.08.2013, 10:37
    #38370348
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
размерность полей numeric в dbf таблице
megazoid007,

... попробуйте тип параметра (SqlDbType.Decimal, 17), а соответственно .Precision = 19, .Scale = 2 .... ну или поиграйте с этими значениями ...
...
Рейтинг: 0 / 0
19.08.2013, 14:07
    #38370698
megazoid007
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
размерность полей numeric в dbf таблице
carrotik, перепробовал уже достаточно вариантов, без толку. У меня есть подозрение что параметр отправляет в качестве разделителя запятую вместо точки. Может кто знает есть ли какой нить профайлер, трассировщик, что бы отловить то что приложение собирается записать в дбф ?
...
Рейтинг: 0 / 0
19.08.2013, 15:54
    #38370840
megazoid007
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
размерность полей numeric в dbf таблице
Поставил в качестве типа параметра не OleDbType.Numeric, а OdbcType.Numeric и все заработало ))
...
Рейтинг: 0 / 0
19.08.2013, 15:55
    #38370843
megazoid007
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
размерность полей numeric в dbf таблице
megazoid007, в OleDbCommand
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / размерность полей numeric в dbf таблице / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]