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




Вниз

Как результат запроса сохранить в txt файл, чтобы потом загрузить на сервер по ftp ? 


Tra   (2002-02-07 18:52) [0]

Как результат запроса сохранить в txt файл, чтобы потом загрузить на сервер по ftp ?



kig   (2002-02-07 18:59) [1]

Доступ через что? К MSSQL?

Если через ADO, то у адошного рекордсета есть метод
GetString(...)



Tra   (2002-02-07 19:08) [2]

У меня приложение работает с MSSQL сервером по локалке.
А мне нужно забросить список email_ов из таблици на удаленный сервер, а там уже посписку рассылка пойдет.



kig   (2002-02-07 19:16) [3]

Я не про сеть спрашивал ...
Я спросил через какой механизм Вы до MSSQL добираетесь.

Спрошу конкретнее - какие компонеты используются для получения данных с MSSQL? Название их классов начинается с TADO... ?



Tra   (2002-02-07 19:27) [4]

Нет. В основном Query



kig   (2002-02-07 19:51) [5]

Понятно.

Если в D6 таких способов нет (у меня нет D6) - то пройтись по всем записям с начала до конца и необходимые данные забрасывать, ну например в TStringList. Затем его сохранить в файл.



Tra   (2002-02-07 20:04) [6]

Ок, буду пробывать.Спасибо



unfam   (2002-02-08 03:46) [7]

А почему бы не воспользоваться DTS ?



Tra   (2002-02-08 10:52) [8]

Пардон, а что это такое?



kserg@ukr.net   (2002-02-08 11:02) [9]

> kig - Название их классов начинается с TADO... ?

Уважаемый, ты мыслишь правильно: используй компаненты
с закладки ADO - это наболее подходящий класс для работы с MSSQL.
TADOConnection - установка связи с БД
TADOQuery - аналог TQuery для работы через BDE




Romul   (2002-02-08 11:11) [10]

А так не покатит?
ADOQuery.SaveToFile("1.txt", pfADTG); //где pfADTG (Advanced Data Tablegram format) есть еще pfXML, но первый по умолчанию стоит.



Tra   (2002-02-08 13:48) [11]

Попробывал...
Файл получается не того формата, мне нужен "список"
1
2
3
А тут получается 1 ... 2...3....
И потом зачем мне переделывать приложение на ADO ?
Нельзя ли, допустим сделать это стандартными средствами,
Например один из вариантов:
1. while NOT Query.eof do begin Writeln(...)end
Только пока не разобрался с синтаксисом, в частности - Что должно стоять в скобках, "c:\111\1.txt" или переменная ???

Хочу заметить, что это мое первое приложение и основные трудности вызывает именно "синтаксис" (классы, переменные, константы).



Romul   (2002-02-08 14:52) [12]

Так ты сделай в твоей процедуре переменную типа TStringList и потом в нее закачивай данные из твоего Query. Примерно так

var
SLIst:TStringList;
begin
try
SList:=TStringList.Create;
.....
while not Query.Eof do
begin
for i:=0 to Query.DataSource.DataSet.RecordCount-1 do

SList.Strings[i]:=Query.FieldByName("Название поля в таблице").AsString+допустим пробел+еще одно поле той же строки
//так у тебя по идее заполнится структура TStringList в виде твоей таблицы
end;
SList.SaveToFile("C:\1.Txt");
finally
SList.Free;
end;
end;

Попробуй этот способ. Извини если что-то не так, сейчас просто нет возможности по быстрому это дело проверить, но принцип вроде такой.



Tra   (2002-02-08 18:52) [13]

Спасибо за помощь:
kig
kserg@ukr.net
Romul
В итоге у меня вышло следующее:

procedure TForm1.Button4Click(Sender: TObject);
var F:TextFile;
begin
AssignFile(F, "c:\111\1.txt");
{$I-}
Rewrite(F);
{$I+}
with Query3 do
begin
Open;
while not Eof do
begin
writeln(F, Fields[0].ASString);
next;
end;
Close;
end;
CloseFile(F);
end;
end.

Query3:
select email_1
from Firms

В итоге получил тектовой файл: c:\111\1.txt
со списком почтовых адресов (email_1) из таблици Firms

С этим вроде все, теперь задача закачать этот файл с адресами
на удаленный сервер провайдера.

У кого есть идеи ?



panov   (2002-02-08 20:55) [14]

А эти идеи в дргой ветке форума реализуются...




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




Наверх





Память: 0.74 MB
Время: 0.016 c
1-19158           vint                  2002-02-21 13:24  2002.03.07  
как правильно описать функцию


3-19066           Bormanoid             2002-02-08 12:29  2002.03.07  
Использование Combobox c DB -2


3-19110           Ser_Kham1             2002-02-11 14:20  2002.03.07  
Чтение из таблицы Oracle


1-19177           1g0r                  2002-02-21 19:06  2002.03.07  
Ошибка ~Control has no parent window~ помогите разобраться почему


1-19161           IronHawk              2002-02-21 13:47  2002.03.07  
Вопрос к многоуважаемым Мастерам ! Как лучше реализовать ?