Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как выгрузить данные из DBGrid в файл DBF, Как выгрузить данные из DBGrid в файл DB 
:(
    Опции темы
mrVerus
Дата 2.3.2010, 21:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Парни я в  работе с БД новичек , как можно выгрузить данные из DBGrid в файл *dbf
По примеру пробывал вот так ничего не вышло
with TTable.Create(nil) do
   begin
     DatabaseName  := 'c:\temp';  (* alias *)
     TableName     := 'test.dbf';
     TableType     := ttDBase;
     with FieldDefs do
     begin
       Add('N_NAKL', ftInteger,0,false);
       Add('EXCLTP_NAM', ftString,15,false);
       Add('SV_NAME', ftString,15,false);
       Add('OSV_NAME', ftString,15,false);
       for i:=0 to form1.DBGrid1.FieldCount -1 do
       fields.Add(form1.DBGrid1.Fields[i]);
     end;

     CreateTable;

 end;
PM MAIL   Вверх
Данкинг
Дата 2.3.2010, 22:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


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

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



Во-первых, выгрузить можно не из Грида, а из таблицы, к нему подключённой. Во-вторых, через что подключаешься в DBF?


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


Шустрый
*


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

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



Не через что там же видно что создается файл dbf
PM MAIL   Вверх
Данкинг
Дата 2.3.2010, 22:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


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

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



Ну и какая ошибка вылезает? Я бы вообще через ADO создавал таблицу dbf.


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


Шустрый
*


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

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



Нет ошибки создается таблица а данных в ней нет.
Покажи как создать таблици и залить туда данные
PM MAIL   Вверх
Frees
Дата 2.3.2010, 22:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

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



Код

var tb: TTable.Create(nil);
//....
with tb do
   begin
     DatabaseName  := 'c:\temp';  (* alias *)
     TableName     := 'test.dbf';
     TableType     := ttDBase;
     with FieldDefs do
     begin
       Add('N_NAKL', ftInteger,0,false);
       Add('EXCLTP_NAM', ftString,15,false);
       Add('SV_NAME', ftString,15,false);
       Add('OSV_NAME', ftString,15,false);
       for i:=0 to form1.DBGrid1.FieldCount -1 do
       fields.Add(form1.DBGrid1.Fields[i]);
     end;

     CreateTable;

 end;
with DBGrid1.DataSource.DataSet do
begin
  First;
  while not Eof do
  begin
      tb.Append;
       for i:=0 to FieldCount -1 do
           tb.FieldByName(Fields[i].FieldName).Value := Fields[i].Value;
      tb.Post;
      NExt;   
  end;
end;



--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
mrVerus
Дата 3.3.2010, 07:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Нет не работает выводит Cannot perform this operation on a closed data set
PM MAIL   Вверх
Frees
Дата 3.3.2010, 08:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

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



Цитата(mrVerus @  3.3.2010,  10:46 Найти цитируемый пост)
Нет не работает выводит Cannot perform this operation on a closed data set

вот и подумай что это зачит, книги почитай...


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
TObject
Дата 3.3.2010, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



А разве не нужно открыть таблицу tb.Open; перед добавлением записей?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


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

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


 




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


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

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