Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сохранение данных текстовый файл... [D7, MSSQL]


SoLRoN ©   (2005-06-06 14:17:00) 

Необходимо сохранить данные из таблицы в текстовый файл.

делаю так:

var
 fl: TextFile;
 i:integer;
 tmp:PAnsiChar;
begin
AssignFile(fl,'C:\123456.txt');
rewrite(fl);
Query1.First;
for i:=1 to Query1.RecordCount do
 begin
   Query1.GetFieldData(Query1.FieldByName('Family'),tmp);
   write(fl,tmp,' ');
   Query1.GetFieldData(Query1.FieldByName('Name'),tmp);
   write(fl,tmp,' ');
   Query1.GetFieldData(Query1.FieldByName('Patro'),tmp);
   writeln(fl,tmp);
   Query1.Next;
 end;
closefile(fl);


но не помогает! Вылетает с ошибкой access violation ... in module 'SQLMSS32.dll';

зато если вместо write сделать application.messagebox то поля выводятся


Anatoly Podgoretsky   (2005-06-06 16:18:00) [1]

SoLRoN   (06.06.05 14:59) [9]
Какие еще стандартные, из неизвестной, почему то в ISO
Данные в одной кодировке преобразовываются в другую допустимую с помощью одной самописной функции весьма простого характера в одну, две или три строчки как правило.


Digitman   (2005-06-06 15:09:00) [2]


> SoLRoN   (06.06.05 14:34) [5]
> а не просто пофлудил


а ты против факта лечебных свойств касторки ?)

которую обычно употребляют, когда что-то непонятное "не помогает" в ходе "лечения" какой-то  непонятной "болезни")..

а диагноз прояснился только к [9]


SoLRoN   (2005-06-06 14:59:00) [3]

Да я понимаю что Для WriteLn безразницы какая кодировкано в базе она храница не в ISO кодировке, а в файле должна быть уже исо, может есть стандартные средства перекодирования? Или может быть запрос может получить данные в иной кодировке?


SoLRoN   (2005-06-06 14:46:00) [4]

2Алхимик:
Я имею в виду как выделить память?
Но теперь меня интересует кодировка...

сейчас процедура выглядит так:

var
 fl: TextFile;
 i:integer;
 str:string;
begin
AssignFile(fl,'C:\123456.txt');
rewrite(fl);
while not Query1.Eof do
 begin
   str:= Query1.FieldByName('Family').AsString+' ';
   str:= str + Query1.FieldByName('Name').AsString+' ';
   str:= str + Query1.FieldByName('Patro').AsString;
   writeln(fl,str);
   Query1.Next;
 end;
closefile(fl);
end;


Anatoly Podgoretsky   (2005-06-06 14:45:00) [5]

SoLRoN   (06.06.05 14:34) [5]
Для WriteLn безразницы какая кодировка.


Алхимик   (2005-06-06 14:40:00) [6]


> 4] SoLRoN   (06.06.05 14:31)
> 0_0 память? Это как?

PAnsiChar - указатель.


SoLRoN   (2005-06-06 14:34:00) [7]

Вот те раз пока писал уже стольк ответов!
Спасибо stone! реально помог а не просто пофлудил...

А что насчет кодировки?


stone   (2005-06-06 14:31:00) [8]

...
S: string;
...
while not Query1.Eof do
begin
 S := '';
 for i := 0 to Query1.FieldCount-1 do
   S := Query1.Fields[i].AsString + ' ';
 writeLn(fl,S);
 Query1.Next;
end;


SoLRoN   (2005-06-06 14:31:00) [9]

0_0 память? Это как? И попутно вопрос - можно ли выгузить данные в кодировке ISO 8859-5?


Anatoly Podgoretsky   (2005-06-06 14:29:00) [10]

А память будет Пушкин выделять?


Digitman   (2005-06-06 14:29:00) [11]


> не помогает


это же не касторка


Наверх

Титульная страница Поиск, карта сайта Написать письмо