Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.01.23;
Скачать: [xml.tar.bz2];

Вниз

Как сохранить из DBGrid?   Найти похожие ветки 

 
Guitar ©   (2004-12-22 10:08) [0]

Уважаемые мастера, ответьте, пожалуйста, на мой вопрос.
У меня ADOQuery1 из БД получает данные, далее данные через DataSource1 передаются в DBGrid1. Можно ли как-то эти данные сохранить в текстовом файле txt? Какой компонент для этого использовать, и какой код?


 
Соловьев ©   (2004-12-22 10:17) [1]

Никакого компонета. Стандартная конструкция:
while not ADOQuery1.Eof do
begin
//код сохранения текущей записи в текстовый файл, Write procedure (for text files) + F1
ADOQuery1.Next;
end;


 
Александр Иванов ©   (2004-12-22 10:30) [2]

var f:text;i:integer;Str:string;
begin
 AssignFile(f,"ff.txt");
 Rewrite(f);
 ADOQuery1.First;
 while not ADOQuery1.eof do
   begin
      Str:="";
      for i:=0 to ADOQuery1.FieldCount do
        Str:=Str+"""+ ADOQuery1.Fields[i].AsString;
      WriteLn(f,Str);
      ADOQuery1.Next;
   end;
 CloseFile(f);
end;


 
Guitar ©   (2004-12-22 10:47) [3]

Большое спасибо за этот совет. Но мне нужен диалог с пользователем. Я решил использовать стандартный компонент.
Вот код:

procedure TForm1.Button6Click(Sender: TObject);
var
fname :string;
begin
fname:=edit6.text;
savedialog1.filename:=fname;
if savedialog1.Execute then
 begin
  fname:=edit6.text;
  adoquery1.SaveToFile(fname);
 end;
end
;

Но у меня в файл вывелись какие-то крякозябрики. Что у меня не так? И ещё файл почемуто сохранился без разрешения, как сделать, чтобы он с разрешением сохранялся?


 
Александр Иванов ©   (2004-12-22 10:52) [4]

var f:text;i:integer;Str:string;
begin
if SaveDialog1.Execute then
  AssignFile(f,SaveDialog1.FileName);

Rewrite(f);
ADOQuery1.First;
while not ADOQuery1.eof do
  begin
     Str:="";
     for i:=0 to ADOQuery1.FieldCount do
       Str:=Str+"""+ ADOQuery1.Fields[i].AsString;
     WriteLn(f,Str);
     ADOQuery1.Next;
  end;
CloseFile(f);
end;


 
Guitar ©   (2004-12-22 11:02) [5]

ПОчему то не нравится
f: text;

Ошибку выводит.


 
Guitar ©   (2004-12-22 11:06) [6]

Пишет.

[Error] Unit1.pas(802): Constant or type identifier expected


 
Guitar ©   (2004-12-22 11:16) [7]

С прошлым вопросом я разобрался сам. ))) Не надо думать, что я тупой, я учусь.

А вот дальше при компилляции ошибок не находит. Но когда начинаю сохранять сам файл, то вылетае прога, так как находит ошибку. Указывает вот на эту строчку

 Str:=Str+"""+ ADOQuery1.Fields[i].AsString;

А код ошибки вот

...raised exception class EListError with message "List index out of bounds (3). Process stopped. Use Step or Run to continue.

Тут я уже не в состоянии определить в чём дело. Помогите.


 
Плохиш ©   (2004-12-22 11:18) [8]

for i:=0 to ADOQuery1.FieldCount-1 do


 
Guitar ©   (2004-12-22 11:27) [9]

Да!!! КРУТО!!!



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2005.01.23;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.048 c
8-1097603406
miek
2004-10-12 21:50
2005.01.23
новый компрессор изображений


1-1105421082
Alex_d
2005-01-11 08:24
2005.01.23
Пропал dpr


3-1103479113
SergP
2004-12-19 20:58
2005.01.23
SQL. Можно ли использ. знач. поля одной табл. как имя другой?


1-1105093344
Garry
2005-01-07 13:22
2005.01.23
Запись в текстовый файл...


1-1105093809
Hadroran
2005-01-07 13:30
2005.01.23
Цветные строки в ExpressQuantumGrid





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский