Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/14: Рейтинг темы: голосов - 14, средняя оценка - 4.50
AG14
0 / 0 / 0
Регистрация: 22.06.2010
Сообщений: 34
1

Сохранение содержимого таблицы в текстовый файл

20.07.2010, 15:07. Просмотров 2538. Ответов 16
Метки нет (Все метки)

Всем здравствуйте.
Помогите пожалуйста, ситуация такая: есть база данных, нужно чтобы при нажатии на кнопочку, содержимое базы сохранялось в файл txt или doc. Как это сделать я даже представления не имею, в поиске искал, но так ничего и не понял по сути.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.07.2010, 15:07
Ответы с готовыми решениями:

Перенос данных из таблицы БД в текстовый файл
Возможно ли с таблицы БД Access перенести строку в .txt файл (код , если можно)

Сохранение содержимого таблицы в Word
Добрый день, делаю сохранение содержимого таблицы в Word, рад выдаёт ошибку,...

Запись содержимого TStringGrid в текстовый файл
Всем привет. У меня есть программа подходящая к моей теме " базовый алгоритм...

Сохранение содержимого StringGrid в файл Excel
Доброго времени суток! Необходимо сделать сохранение содержимого StringGrid...

Сохранение значений в текстовый файл
//--------------------------------------------------------------------------- ...

16
Sasha
4923 / 2387 / 530
Регистрация: 05.06.2008
Сообщений: 7,477
Записей в блоге: 3
20.07.2010, 15:23 2
Какая хоть база данных?
0
AG14
0 / 0 / 0
Регистрация: 22.06.2010
Сообщений: 34
20.07.2010, 15:49  [ТС] 3
Parodox 7
0
Sasha
4923 / 2387 / 530
Регистрация: 05.06.2008
Сообщений: 7,477
Записей в блоге: 3
20.07.2010, 16:57 4
Вот тебе пример созранение таблицы в Word, думаю разберёшься

http://www.cyberforum.ru/cpp-builder...ead127915.html
1
AG14
0 / 0 / 0
Регистрация: 22.06.2010
Сообщений: 34
20.07.2010, 18:02  [ТС] 5
к сожалению не помогает, это я и в поиске находил.Сложно... мне не нужно чтобы за меня это кто то сделал, но тем не менее там слишком сложно для моего понимания.
0
Lord_Voodoo
Супер-модератор
8609 / 2240 / 133
Регистрация: 07.03.2007
Сообщений: 10,830
Завершенные тесты: 1
20.07.2010, 18:07 6
я csv обычно так делаю:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <stdlib.h>
#include <stdio.h>
#include <sys\stat.h>
 
//---------------------------------------------------------------------------
void __fastcall TMainForm::WriteData(AnsiString Str, AnsiString Name)
{
   char mode[5] = "a+b";
   struct stat info;
   stat((Name).c_str(), &info);
   FILE* FFile = NULL;
   FFile = fopen(Name.c_str(), mode);
   if (FFile == NULL) {
     return;
   }
   fputs(Str.c_str(),FFile);
   fclose(FFile);
}
//---------------------------------------------------------------------------
// Использование
 text = Query1->FieldByName("divide_cd")->AsString + ";";
 text += "200" + Y->Text + ";" + Mth + ";NK;0;0;";
 text += Query1->FieldByName("income_cd")->AsString + ";";
 text += Query1->FieldByName("biz_cd")->AsString + ";";
 text += Query1->FieldByName("wpdv")->AsString + ";";
 text += Math_Round(Query1->FieldByName("wpdv")->AsFloat * 0.2) + ";";
 text += Math_Round(Query1->FieldByName("wpdv")->AsFloat * 1.2);
 WriteData(text + "\n", FName);
1
AG14
0 / 0 / 0
Регистрация: 22.06.2010
Сообщений: 34
20.07.2010, 18:59  [ТС] 7
Ладно попробую что нибудь сделать.

Добавлено через 27 минут
Sasha, давай разберемся в том на что ты ссылку дал.
Ты там так писал:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
int i=1;
 
 ADOQuery1->First();
 while(!ADOQuery1->Eof)
 {
 
  vVarCell=vVarTable.OleFunction("Cell",i+1,1);
  vVarCell.OlePropertySet("VerticalAlignment",1);
  vVarCell.OleFunction("Select");
  v=Word.OlePropertyGet("Selection").OlePropertyGet("Font");
  v.OlePropertySet("Size",10);
  vVarCell.OlePropertyGet("Range").
           OlePropertySet("Text",ADOQuery1->FieldByName("Invent_Number")->AsString.c_str());
 
  vVarCell=vVarTable.OleFunction("Cell",i+1,2);
  vVarCell.OlePropertySet("VerticalAlignment",1);
  vVarCell.OleFunction("Select");
  v=Word.OlePropertyGet("Selection").OlePropertyGet("Font");
  v.OlePropertySet("Size",10);
  vVarCell.OlePropertyGet("Range").
           OlePropertySet("Text",ADOQuery1->FieldByName("Number_in_Lan")->AsString.c_str());
 
  vVarCell=vVarTable.OleFunction("Cell",i+1,3);
  vVarCell.OlePropertySet("VerticalAlignment",1);
  vVarCell.OleFunction("Select");
  v=Word.OlePropertyGet("Selection").OlePropertyGet("Font");
  v.OlePropertySet("Size",10);
  vVarCell.OlePropertyGet("Range").
           OlePropertySet("Text",ADOQuery1->FieldByName("Department")->AsString.c_str());
 
  vVarCell=vVarTable.OleFunction("Cell",i+1,4);
  vVarCell.OlePropertySet("VerticalAlignment",1);
  vVarCell.OleFunction("Select");
  v=Word.OlePropertyGet("Selection").OlePropertyGet("Font");
  v.OlePropertySet("Size",10);
  vVarCell.OlePropertyGet("Range").
           OlePropertySet("Text",ADOQuery1->FieldByName("Processor")->AsString.c_str());
 
  vVarCell=vVarTable.OleFunction("Cell",i+1,5);
  vVarCell.OlePropertySet("VerticalAlignment",1);
  vVarCell.OleFunction("Select");
  v=Word.OlePropertyGet("Selection").OlePropertyGet("Font");
  v.OlePropertySet("Size",10);
  vVarCell.OlePropertyGet("Range").
           OlePropertySet("Text",ADOQuery1->FieldByName("Memory")->AsString.c_str());
 
  vVarCell=vVarTable.OleFunction("Cell",i+1,6);
  vVarCell.OlePropertySet("VerticalAlignment",1);
  vVarCell.OleFunction("Select");
  v=Word.OlePropertyGet("Selection").OlePropertyGet("Font");
  v.OlePropertySet("Size",10);
  vVarCell.OlePropertyGet("Range").
           OlePropertySet("Text",ADOQuery1->FieldByName("HDD")->AsString.c_str());
 
  vVarCell=vVarTable.OleFunction("Cell",i+1,7);
  vVarCell.OlePropertySet("VerticalAlignment",1);
  vVarCell.OleFunction("Select");
  v=Word.OlePropertyGet("Selection").OlePropertyGet("Font");
  v.OlePropertySet("Size",10);
  vVarCell.OlePropertyGet("Range").
           OlePropertySet("Text",ADOQuery1->FieldByName("Room")->AsString.c_str());
 i++;
 ADOQuery1->Next();
}
vVarCell, vVarTable, v, Word - это что, переменные? И вообще, куда, он это сохраняет, где файл то искать вордовский?
0
Sasha
4923 / 2387 / 530
Регистрация: 05.06.2008
Сообщений: 7,477
Записей в блоге: 3
20.07.2010, 19:35 8
Да это переменные я их объявил в классе
C++
1
2
3
4
5
6
7
8
private:
Variant           vVarApp,vVarDocs,vVarDoc,vVarParagraphs,
                  vVarParagraph,vVarRange,vVarTables,vVarTable,
                  vVarCell;
 bool             fStart;
 AnsiString       str;
 HANDLE           mutex;
 int              stolbci;
Тебе вордовский файл искать не надо он тебе сам откроет ворд и начнёт вноситьь информацию прям у тебя на глазах, а сохранится он там, где ты его сохранишь
0
AG14
0 / 0 / 0
Регистрация: 22.06.2010
Сообщений: 34
20.07.2010, 19:51  [ТС] 9
А вот "Invent_Number", "Number_in_Lan", "Department", "Processor", "Memory", "HDD", "Room" это поля в таблице? Или что?
0
Sasha
4923 / 2387 / 530
Регистрация: 05.06.2008
Сообщений: 7,477
Записей в блоге: 3
20.07.2010, 19:53 10
Совершенно это поля базы
0
AG14
0 / 0 / 0
Регистрация: 22.06.2010
Сообщений: 34
20.07.2010, 20:36  [ТС] 11
Эх, ошибку выдает, сейчас уже голова пухнет, завтра все опишу..
0
AG14
0 / 0 / 0
Регистрация: 22.06.2010
Сообщений: 34
22.07.2010, 12:54  [ТС] 12
Sasha, вот смотрите, я взял ваш пример и заменил поля на свои, и поменял ADOQuery1 на Table1, так как у меня используется этот компонент. Получился такой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
void __fastcall TForm1::Button5Click(TObject *Sender)
{
  Variant vVarApp,vVarDocs,vVarDoc,vVarParagraphs,vVarParagraph,vVarRange,vVarTables,vVarTable,vVarCell,v, Word;
 bool             fStart;
 AnsiString       str;
 HANDLE           mutex;
 int              stolbci;
 int i=1;
 Table1->First();
 while(!Table1->Eof)
 {
 
  vVarCell=vVarTable.OleFunction("Cell",i+1,1);
  vVarCell.OlePropertySet("VerticalAlignment",1);
  vVarCell.OleFunction("Select");
  v=Word.OlePropertyGet("Selection").OlePropertyGet("Font");
  v.OlePropertySet("Size",10);
  vVarCell.OlePropertyGet("Range").
           OlePropertySet("Text",Table1->FieldByName("Nomer")->AsString.c_str());
 
  vVarCell=vVarTable.OleFunction("Cell",i+1,2);
  vVarCell.OlePropertySet("VerticalAlignment",1);
  vVarCell.OleFunction("Select");
  v=Word.OlePropertyGet("Selection").OlePropertyGet("Font");
  v.OlePropertySet("Size",10);
  vVarCell.OlePropertyGet("Range").
           OlePropertySet("Text",Table1->FieldByName("Naz_ser")->AsString.c_str());
 
  vVarCell=vVarTable.OleFunction("Cell",i+1,3);
  vVarCell.OlePropertySet("VerticalAlignment",1);
  vVarCell.OleFunction("Select");
  v=Word.OlePropertyGet("Selection").OlePropertyGet("Font");
  v.OlePropertySet("Size",10);
  vVarCell.OlePropertyGet("Range").
           OlePropertySet("Text",Table1->FieldByName("Ip_ser")->AsString.c_str());
 
  vVarCell=vVarTable.OleFunction("Cell",i+1,4);
  vVarCell.OlePropertySet("VerticalAlignment",1);
  vVarCell.OleFunction("Select");
  v=Word.OlePropertyGet("Selection").OlePropertyGet("Font");
  v.OlePropertySet("Size",10);
  vVarCell.OlePropertyGet("Range").
           OlePropertySet("Text",Table1->FieldByName("Copy_data")->AsString.c_str());
 
  vVarCell=vVarTable.OleFunction("Cell",i+1,5);
  vVarCell.OlePropertySet("VerticalAlignment",1);
  vVarCell.OleFunction("Select");
  v=Word.OlePropertyGet("Selection").OlePropertyGet("Font");
  v.OlePropertySet("Size",10);
  vVarCell.OlePropertyGet("Range").
           OlePropertySet("Text",Table1->FieldByName("Sys_error")->AsString.c_str());
 
  vVarCell=vVarTable.OleFunction("Cell",i+1,6);
  vVarCell.OlePropertySet("VerticalAlignment",1);
  vVarCell.OleFunction("Select");
  v=Word.OlePropertyGet("Selection").OlePropertyGet("Font");
  v.OlePropertySet("Size",10);
  vVarCell.OlePropertyGet("Range").
           OlePropertySet("Text",Table1->FieldByName("Upd_avir")->AsString.c_str());
 
  vVarCell=vVarTable.OleFunction("Cell",i+1,7);
  vVarCell.OlePropertySet("VerticalAlignment",1);
  vVarCell.OleFunction("Select");
  v=Word.OlePropertyGet("Selection").OlePropertyGet("Font");
  v.OlePropertySet("Size",10);
  vVarCell.OlePropertyGet("Range").
           OlePropertySet("Text",Table1->FieldByName("Update")->AsString.c_str());
 i++;
 Table1->Next();
}
}
При нажатии на кнопку появляется вот такое окно:
Если нажать да, то появляется вот такая ошибка:
А если нажать нет, то появляется другая ошибка:
0
Миниатюры
Сохранение содержимого таблицы в текстовый файл   Сохранение содержимого таблицы в текстовый файл   Сохранение содержимого таблицы в текстовый файл  

Sasha
4923 / 2387 / 530
Регистрация: 05.06.2008
Сообщений: 7,477
Записей в блоге: 3
22.07.2010, 16:25 13
http://wladm.narod.ru/Borland/word.html
1
groom
0 / 0 / 0
Регистрация: 12.12.2011
Сообщений: 15
17.12.2011, 21:11 14
Скажите пожалуйста, как организовать удаление строки из таблицы и сохранение данной строки в отдельный файл?
Я правильно понял, что это требовалось в моей задаче?

Купи-продай. База продавцов: наименование товара, объем партии при оптовой продаже, цена, условия продажи-отгрузки, форма оплаты, контактный адрес или телефон, примечание (например, «посредников прошу не беспокоиться»). База покупателей: наименование товара, объем покупки, приемлемая цена и форма оплаты, контактный адрес или телефон, примечание. Поиск и регистрация вариантов с той и другой стороны; формирование объявлений для печати, удаление в архив после купли-продажи (возможно, один из клиентов остается неудовлетворенным), полное удаление при отказе от услуг.
0
Sasha
4923 / 2387 / 530
Регистрация: 05.06.2008
Сообщений: 7,477
Записей в блоге: 3
17.12.2011, 23:23 15
Цитата Сообщение от groom Посмотреть сообщение
строки в отдельный файл?
В какой именно? текстовый?
1
groom
0 / 0 / 0
Регистрация: 12.12.2011
Сообщений: 15
17.12.2011, 23:25 16
Цитата Сообщение от Sasha Посмотреть сообщение
В какой именно? текстовый?
Да скорей всего.
По задаче:
удаление в архив после купли-продажи
Может есть еще варианты, кроме текстового файла?
0
Sasha
4923 / 2387 / 530
Регистрация: 05.06.2008
Сообщений: 7,477
Записей в блоге: 3
17.12.2011, 23:53 17
Цитата Сообщение от groom Посмотреть сообщение
Может есть еще варианты, кроме текстового файла?
Можно попробывать сохранить в файл с расширением CSV
1
17.12.2011, 23:53
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.12.2011, 23:53

Сохранение из Edit-ов в текстовый файл
AntonChik, Помогите пожалуйста!!!Можно как-то сделать чтобы вот это...

Сохранение данных из StringGrid в Текстовый файл
Всем добрый день! Функция должна заносить данные из СтригГрида в переменную, а...

Сохранение данных в текстовый файл и их загрузка
В общем не могу загрузить из текстового файла в stringgrid Код сохранения в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru