Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создание dbf-таблицы. Поля с запятой. Вместо 10,2 упорно создает поле 10,5 
:(
    Опции темы
Bladerender
Дата 11.4.2012, 17:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 19.7.2007

Репутация: нет
Всего: нет



У меня непонятки по созданию таблицы dbf, а точнее полей с знаками после запятой.
Код

System.Data.OleDb.OleDbConnection oConn;
            System.Data.OleDb.OleDbCommand oCmd;

            oConn = new System.Data.OleDb.OleDbConnection();
            oCmd = oConn.CreateCommand();
            oConn.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +
                                     Directory.GetCurrentDirectory() +
                                     path+"; Extended Properties=dBASE IV;User ID=Admin;Password=";
            oConn.Open();
            oCmd.CommandText = @"create table " + fileName + " (TARIF_S numeric(13,2), [SUM] numeric(13,2),  DEBT numeric(13,2)";
            oCmd.ExecuteNonQuery();
            oConn.Close();


Как видим, я хочу, что бы создалось поле к примеру Tarif_S размером 13 и  2 после запятй. Но оно упорно создает файл, в котором это поле размером 20 и  5 после запятой.  С полями [SUM] и DEBT такая же беда. ТАкое ощущение, что оно не умеет создавать других размеров  smile  В чем подвох?
PM MAIL   Вверх
Данкинг
Дата 12.4.2012, 00:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: нет
Всего: 130



Гугл говорит, что это глюк ODBC. На самом фоксе у меня, разумеется, всё нормально создаётся. Как вариант - создать таблицу-шаблон) нужной структуры на фоксе (ну или через Excel) и копировать его в соответствующие папки по мере необходимости.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Kolovorot
Дата 18.4.2012, 09:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 245
Регистрация: 12.1.2009

Репутация: 1
Всего: 3



Если есть возможность используйте другой провайдер для подключения Provider=VFPOLEDB:
Код

OleDbConnection theConnection = new OleDbConnection("Provider=VFPOLEDB; Data Source=pathToFolder");

--------------------
Никогда еще истина не повисала на руке безусловного. Фридрих Ницше. Так говорил Заратустра
PM MAIL   Вверх
Данкинг
Дата 18.4.2012, 10:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: нет
Всего: 130



Цитата(Kolovorot @  18.4.2012,  10:59 Найти цитируемый пост)
Если есть возможность используйте другой провайдер для подключения Provider=VFPOLEDB:

Так это же сам фокс должен быть установлен на компе, как я понимаю.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Kolovorot
Дата 18.4.2012, 11:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 245
Регистрация: 12.1.2009

Репутация: 1
Всего: 3



Цитата(Данкинг @ 18.4.2012,  10:10)
Так это же сам фокс должен быть установлен на компе, как я понимаю.

Да. Я же написал если есть возможность. Правда для него я сейчас обнаружил другой косяк - для того чтобы установить 13 знаков и 2 после запятой, нужно указывать numeric(11,2).

Это сообщение отредактировал(а) Kolovorot - 18.4.2012, 11:05
--------------------
Никогда еще истина не повисала на руке безусловного. Фридрих Ницше. Так говорил Заратустра
PM MAIL   Вверх
Данкинг
Дата 18.4.2012, 11:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: нет
Всего: 130



Не знаю, на самом фоксе нормально создаётся.
Код

CREATE TABLE test1 (pole1 n(13,2))



--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0914 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.