Форум: "Базы";
Текущий архив: 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.045 c