Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Операционные системы > Софт
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.04.2010, 12:44   #41
kxekxe
 
Регистрация: 02.04.2010
Сообщений: 7
По умолчанию

Serge_Bliznykov и ещё вопрос =)
читаю DBF через ADO, всё класно, всё по русски, но есть одна проблема - не могу добавить строку.. одна и таже ошибка - "Произошли ошибки во время выполнения многошаговой операции. Проверьте значения всех состояний".
погуглил, вроже ошибка частая, но точного решения не написано...

пробовал переставлять драйвера Microsoft OLE DB Provider for Visual FoxPro 8.0 - ничего не изменилось..
пробовал менять параметры соединения - безрезультатно..

что может быть?
kxekxe вне форума Ответить с цитированием
Старый 04.10.2010, 03:48   #42
tarakan1983
Форумчанин
 
Аватар для tarakan1983
 
Регистрация: 09.09.2008
Сообщений: 418
По умолчанию

Перешел на Delphi 2010, мне требуется слить данные из dbf файла в базу GDB. Скачал TDFB для Delphi 2010, но он по русские буквы не хочет показывать. ADO и все остальное прочее использовать не хочу. Может кто встречал в сети нормально рабочий TDBF?
tarakan1983 вне форума Ответить с цитированием
Старый 04.10.2010, 06:32   #43
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

tarakan1983, нет и не было Delphi 2010, соответственно не могу поручиться, что выложенная версия корректно работает с русскими буквами. Но!
Прежде чем на версию пенять, Вы пробовали разобраться, что происходит? Просто я на 90% уверен, что дело именно в Вашем кривом DBF файле.
Можете сделать маленький DBF файл с русскими буквами, который у Вас не читается и выложить сюда (желательно заархивировать предварительно)
Если нет, то хотя бы посмотрите через любой HEX вьювер (хотя бы тем же FAR Commander'ом)
1) какая реально кодировка используется для русских букв внутри проблемного DBF.
2) ВАЖНО! Какой байт кодировки стоит в заголовке DBF (Кодовая таблица задаётся одним байтом по смещению 29 (0x1D). Чему равна величина байта по этому смещению?!

3) ну и забегая вперёд. Если в заголовке DBF файла кодировка не задана, то её можно задать принудительно в коде программы.
Примерно вот так:
Код:
если в таблице кодовая 0, то тогда открывается Default, которую легко можно задать. 
Это можно сделать так: 
1) в uses добавить модуль dbf_dbffile 
2) перед открытием таблицы сделать (DOS кодировка) 
    Dbf1.TableName := FromFile;
    DbfGlobals.DefaultOpenCodePage := 866;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 04.10.2010, 08:24   #44
tarakan1983
Форумчанин
 
Аватар для tarakan1983
 
Регистрация: 09.09.2008
Сообщений: 418
По умолчанию

Цитата:
дело именно в Вашем кривом DBF файле
Файл справочника банков, хочу перелить в базу GDB, нужно только 3 поля Наименование банка(NAMEP), БИК(NewNUM), Коррсчет(KSNP).
http://www.pvision.ru/download/bp/bik/bik0927.zip (288 кб).
tarakan1983 вне форума Ответить с цитированием
Старый 05.10.2010, 21:04   #45
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

кодовая страница не была проставлена.
проставил правильную (DOS) кодировку.
попробуйте.
Вложения
Тип файла: rar bnkseek.rar (202.2 Кб, 22 просмотров)
Serge_Bliznykov вне форума Ответить с цитированием
Старый 10.10.2010, 01:38   #46
tarakan1983
Форумчанин
 
Аватар для tarakan1983
 
Регистрация: 09.09.2008
Сообщений: 418
По умолчанию

Прошу прощенья за долгое молчание, но не помогло.
tarakan1983 вне форума Ответить с цитированием
Старый 10.10.2010, 09:52   #47
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Прошу прощенья за долгое молчание, но не помогло.
плохо. сочувствую.
повторюсь - нет у меня Delphi 2010, не могу проверить/пофиксить этот баг (и даже не могу потдвердить, что Вы не единственный, у кого он есть!)

Вижу такие варианты решения.
1) поставить любую другую версию Delphi (можно Portable - в инете есть такое добро).
2) поставить себе MS OLE DB provider for Visual FoxPro и открывать TDBF файл через ADO
3) конвертнуть этот DBF файл во что-нибудь другое: начиная от TXT - кстати, я выкладывал тут на форуме небольшую утилитку DBF_SAVE для преобразования dbf -> txt, и заканчивая CSV, SQL, или XML
Можно также загрузить этот DBF файл в MS Access и дальше через ADO работать с mdb файлом...
4) попытаться всё таки заставить работать TDBF в Delphi 2010

пока хватитит вариантов?..
Serge_Bliznykov вне форума Ответить с цитированием
Старый 10.10.2010, 13:41   #48
tarakan1983
Форумчанин
 
Аватар для tarakan1983
 
Регистрация: 09.09.2008
Сообщений: 418
По умолчанию

Вариантов море. Спасибо за сочувствие.
Взял маленькую программку для работы с DBF, слил с её помощью в новый файл DBF три нужных мне поля и все получилось. Сейчас пока продолжил писать свою БД дальше, но все же потом вернусь к решению этой проблемы. Т.к. это всего лишь кусок моей программы.
tarakan1983 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Установка TDBF в Delphi 2007 TIgor4 Компоненты Delphi 0 30.10.2009 14:04
Delphi 2010 beemoto Общие вопросы Delphi 6 22.09.2009 13:57
Как правильно использовать компонент TDBF SadStar Компоненты Delphi 0 27.03.2009 02:48
компонент TDBF furstenberg Компоненты Delphi 2 27.03.2008 19:23