Проблемы с TDbf
Модератор: Модераторы
Проблемы с TDbf
Убунту 14.04
Лазарус 1.0.10
ФрииПаскаль 2.6.4
Проблема в том что при подключенни к базе TDbf выдает ошибку "В, и не подключается
Скриншот:
http://saveimg.ru/show-image.php?id=b45313f93114d50d332d95a7e1ba1145
Лазарус 1.0.10
ФрииПаскаль 2.6.4
Проблема в том что при подключенни к базе TDbf выдает ошибку "В, и не подключается
Скриншот:
http://saveimg.ru/show-image.php?id=b45313f93114d50d332d95a7e1ba1145
Killer_86
А каким образом Вы подключаетесь?
1. Путь к каталогу с таблицами прописан правильно?
2. Указан ли существующий файл с таблицей перед подключением?
А каким образом Вы подключаетесь?
1. Путь к каталогу с таблицами прописан правильно?
2. Указан ли существующий файл с таблицей перед подключением?
Просто свойство Active компанента TDbf переводим в True на этапе разработки, если это сделать уже в скомпилированном состояние то вылазиет точно такое же окошко но конекта не происходит. И еще пробывал разные способы коннекта.
1. Путь к каталогу с таблицами прописан правильно? -- Да.
2. Указан ли существующий файл с таблицей перед подключением? -- Да.
3. Изменены ли права на каталог с базой? -- Да. Это на будущее.
Добавлено спустя 8 минут 18 секунд:
Вот код подключения исключающий ошибки с путями но ошибка "В остается, а база по указанному пути создается.
1. Путь к каталогу с таблицами прописан правильно? -- Да.
2. Указан ли существующий файл с таблицей перед подключением? -- Да.
3. Изменены ли права на каталог с базой? -- Да. Это на будущее.
Добавлено спустя 8 минут 18 секунд:
Вот код подключения исключающий ошибки с путями но ошибка "В остается, а база по указанному пути создается.
Код: Выделить всё
begin
try
Dbf1.FilePath := Path;
Dbf1.TableLevel := 7;
Dbf1.Exclusive := True;
Dbf1.TableName := 'Data.dbf';
With Dbf1.FieldDefs do begin
Add('Id', ftAutoInc, 0, True);
Add('Login', ftString, 80, True);
Add('Password', ftString, 80, True);
End;
Dbf1.CreateTable;
finally
Dbf1.Close;
end;
Dbf1.FilePath := Path;
Dbf1.TableLevel := 7;
Dbf1.Exclusive := True;
Dbf1.TableName := 'Data.dbf';
Dbf1.Open;
end
Сталкивался с подобной проблемой. Решилось так:
Возможно имеющиеся таблицы придётся пересоздать.
Код: Выделить всё
var
Dbf: TDbf;
begin
Dbf := TDbf.Create(nil);
try
Dbf.FilePath := 'полный путь к каталогу с файлами таблицы';
//dBase VII
Dbf.TableLevel := 7;
Dbf.TableName := 'таблица';
Dbf.LanguageID := 3;
Dbf.Open;
...
Dbf.Close;
finally
Dbf.Free;
end;Возможно имеющиеся таблицы придётся пересоздать.
Пробывал, вот именно что создать таблицу проблем нет, а проблема появляется при подключении к этой же таблице.
Killer_86 писал(а):Пробывал, вот именно что создать таблицу проблем нет, а проблема появляется при подключении к этой же таблице.
Обнови лазарус. С дбф у меня были косяки в версиях до 1.2.0
TDbf идет вместе с fpc?
fpc/packages/fcl-db/src/dbase/dbf.pas
fpc/packages/fcl-db/src/dbase/dbf.pas
TDbf идет вместе с fpc?
fpc/packages/fcl-db/src/dbase/dbf.pas
Да стандартный.
Обнови лазарус. С дбф у меня были косяки в версиях до 1.2.0
Уже обновил проблема осталась.
Теперь:
Убунту 14.04
Лазарус 1.2.4
ФрииПаскаль 2.6.4
Добавлено спустя 2 часа 48 минут 8 секунд:
Разобрался, всем спасибо.
Кому надо будет в будущем вот проблема в чем была.
Я ставил Лазарус из репозитория убунты, после чего удалил его (по той же причине что TDbf выдавал ошибку) но похоже не полностью, после чего поставил версию из свн, ну и пошел конфликт, который не давал нормально работать Лазарусу.
После того как я полностью удалил Лазарус и фри паскаль и поставил их же из свн все пошло нормально.
P.S. В который раз убеждаюсь что бубунтовой репой пользоваться нельзя.
Последний раз редактировалось Killer_86 07.07.2014 17:14:09, всего редактировалось 1 раз.
Killer_86 писал(а):Да стандартный.
Значит нужно было переставить только fpc
Значит нужно было переставить только fpc
Нет только FPC не прокотило, пока не переставил все оптом, впричем с полным удалением.
