全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1297
推到 Plurk!
推到 Facebook!

consloe application中抓資料

答題得分者是:pgdennis
cyl
中階會員


發表:163
回覆:171
積分:66
註冊:2002-07-11

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-04-14 11:27:08 IP:61.218.xxx.xxx 未訂閱
請問我使用 console application ,然後要抓取資料庫中的資料,寫成文字檔, 執行後出錯,不知是哪裡有問題?? program Pconsle; {$APPTYPE CONSOLE} uses SysUtils, consle in 'consle.pas'; begin GetData(); { TODO -oUser -cConsole Main : Insert code here } end. unit consle; interface uses ADODB,db; procedure GetData(); implementation procedure GetData(); var Qry: TADOQuery; ADOConnection1: TADOConnection; begin ADOConnection1:= TADOConnection.Create(nil); ADOConnection1.ConnectionString :='Provider=SQLOLEDB.1;Password=11111 ;Persist Security Info=True;User ID=sa;Initial Catalog=WEB;Data Source=ECINWEB11'; ADOConnection1.Connected :=True; Qry:= TADOQuery.Create(nil); Qry.Connection := ADOConnection1 ; Qry.Close; Qry.SQL.Clear; Qry.SQL.Add('select loginid,pwd,homedir from ftppassctl ') ; Qry.SQL.add(' where (cre_date between getdate()-7 and getdate()) and code<> ' '''' '1' ''''); Qry.Open; While not Qry.Eof do begin writeln(Qry.fieldbyname('loginid').asstring ); Qry.Next; end; Qry.Free; end; end.
pgdennis
資深會員


發表:41
回覆:526
積分:443
註冊:2002-05-23

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-04-14 23:02:50 IP:211.74.xxx.xxx 未訂閱
你是不是出現coinitialize尚未呼叫的錯誤訊息呢....如果是的話...在ADOConnection1:= TADOConnection.Create(nil);這行之前加上CoInitialize(nil);...在程式結束時加上CoUnInitialize;...記得要uses Ativex < > 你的程式我是沒看還有沒有其他錯誤..不過依你的寫法一定會遇到我講的問題... < > 發表人 - pgdennis 於 2003/04/14 23:07:32
------
星期一,二...無窮迴圈@@
chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-04-14 23:35:46 IP:61.216.xxx.xxx 未訂閱
改成這樣看看
program Pconsle;
{$APPTYPE CONSOLE}    uses
  SysUtils,
  consle in 'consle.pas';    begin
  GetData();
  { TODO -oUser -cConsole Main : Insert code here }
end.    unit consle;    interface
uses ADODB,db;     procedure GetData();
implementation
procedure GetData();
var
  Qry: TADOQuery;
  ADOConnection1: TADOConnection;
  F: TextFile;
  S: string;
begin
  ADOConnection1 := TADOConnection.Create(nil);
  ADOConnection1.ConnectionString := 'Provider=SQLOLEDB.1;Password=11111 ;Persist Security Info=True;User ID=sa;Initial Catalog=WEB;Data Source=ECINWEB11';
  ADOConnection1.Connected := True;
  Qry := TADOQuery.Create(nil);
  Qry.Connection := ADOConnection1;
  Qry.Close;
  Qry.SQL.Clear;
  Qry.SQL.Add('select loginid,pwd,homedir from ftppassctl ');
  Qry.SQL.add(' where (cre_date between getdate()-7 and getdate()) and code<> '   ''''   '1'   '''');
  Qry.Open;
  while not Qry.Eof do begin
    S := S   Qry.fieldbyname('loginid').asstring;
    Qry.Next;
  end;      try
    AssignFile(F, 'C:\123.txt');
    Rewrite(F);
    writeln(F, S);
    CloseFile(F);
    Qry.Free;
  except
    SHOWMESSAGE('N');
  end;
  SHOWMESSAGE('Y');
end;
end.
cyl
中階會員


發表:163
回覆:171
積分:66
註冊:2002-07-11

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-04-15 09:05:14 IP:61.218.xxx.xxx 未訂閱
引言: 你是不是出現coinitialize尚未呼叫的錯誤訊息呢....如果是的話...在ADOConnection1:= TADOConnection.Create(nil);這行之前加上CoInitialize(nil);...在程式結束時加上CoUnInitialize;...記得要uses Ativex < > 你的程式我是沒看還有沒有其他錯誤..不過依你的寫法一定會遇到我講的問題... < > 發表人 - pgdennis 於 2003/04/14 23:07:32
我依照您的寫法就可執行,請問為何要加以上的程式????
pgdennis
資深會員


發表:41
回覆:526
積分:443
註冊:2002-05-23

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-04-15 10:52:23 IP:61.219.xxx.xxx 未訂閱
引言:
引言: 你是不是出現coinitialize尚未呼叫的錯誤訊息呢....如果是的話...在ADOConnection1:= TADOConnection.Create(nil);這行之前加上CoInitialize(nil);...在程式結束時加上CoUnInitialize;...記得要uses Ativex < > 你的程式我是沒看還有沒有其他錯誤..不過依你的寫法一定會遇到我講的問題... < > 發表人 - pgdennis 於 2003/04/14 23:07:32
我依照您的寫法就可執行,請問為何要加以上的程式????
微軟的說辭 CoInitialize Initializes the COM library on the current thread and identifies the concurrency model as single-thread apartment (STA). Applications must initialize the COM library before they can call COM library functions other than CoGetMalloc and memory allocation functions. ...簡單的說就是你用ADO之前要先initialize ....
------
星期一,二...無窮迴圈@@
系統時間:2024-05-03 13:06:48
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!