線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:3069
推到 Plurk!
推到 Facebook!
[<<] [1] [2] [>>]

SQL客&#25143;端&#36719;件的&#35774;定&#38382;&#39064;

答題得分者是:malanlk
ntjrr
高階會員


發表:240
回覆:312
積分:110
註冊:2005-04-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-08-29 18:41:49 IP:222.184.xxx.xxx 未訂閱
因为预先无法知道客户的SQL设定,所以在连接时肯定要设置的,借鉴了很多网络版的软件,我看到他们都是在客户端软件运行前(也就是用户登录窗口出现前)跳出一个设置的窗口,要求填入SQL服务器名称,用户名称,密码,数据库名称四项内容,如果设置的数据内容正确,测试连接服务成功的话就进入下一步,但这个窗口只会出现一次,不会每次都要设定,请问大大,这个窗口如何制作。谢谢
------
我的编程起步于ktop,我将永远支持ktop
malanlk
尊榮會員


發表:20
回覆:694
積分:577
註冊:2004-04-19

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-08-29 21:48:39 IP:61.219.xxx.xxx 未訂閱
把登錄資料放在一個 INI 檔案內, 或者是 用 Windows 本身的登錄檔, 在命令行內打 regedit 就會看到 "登錄編輯程式" 不知道簡體版叫什麼...     在圖中你可以看到 \HKEY_CURRENT_USER\Software\Cyberhood\D2D Software 下面可以看到你安裝的許多軟體, 上圖是ㄧ個 Cyberhood 發行的軟體叫做 D2D, 右邊則是他的登錄項目, 其實也就是程式啟動時要設定的資料 這些資料都可以透過 TRegistry 這個 Delphi 內建的類別來讀取及設定 另外一種就是將資料放在 .INI 的檔案內, 由 TIniFile 這個類別來讀取及設定. 程式啟動後就會將資料讀出, 並顯示在登入視窗上, 登入成功後就會將資料寫回, 以便下次讀取. 如果有記憶密碼功能的話通常會用 MD5 編碼再寫入. ntjrr 兄可以先去研究 這兩個類別的用法...
ntjrr
高階會員


發表:240
回覆:312
積分:110
註冊:2005-04-24

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-08-30 07:06:05 IP:222.184.xxx.xxx 未訂閱
malanlk前辈,您所说的方法我基本理解了,不过具体的代码如何组织我是一点也不懂。
------
我的编程起步于ktop,我将永远支持ktop
malanlk
尊榮會員


發表:20
回覆:694
積分:577
註冊:2004-04-19

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-08-30 08:53:12 IP:203.69.xxx.xxx 未訂閱
如你所言 連線 Setup 的時機應該在 程式運行前 因此程式應該放在專案檔的前面部份    Project-->View Source 你會看到如下的內容    
program Project1;    uses
  Forms,
  Unit1 in 'Unit1.pas' {Form1},
  Unit2 in 'Unit2.pas' {Form2},
  UnitSetup in 'UnitSetup.pas' {SetupForm},     {$R *.res}    begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1); // 自動建立
  Application.CreateForm(TForm2, Form2); // 自動建立
  Application.Run;
end.
這張圖是 Project-->Options 開啟後的內容 左邊 Form1,Form2 是 設定為 Auto-Create 所以你會在上述專案檔看到 delphi 自動幫你加的程式碼; 右邊 是 Available Form 是程式中會用到但是不是每次都會用到的Form (如網路連線設定的 Form) 當 Project 檔運行到 Application.Run 時你的主 Form 就會開始運作. 所以要檢查連線是否設定的時機就是在 Application.Run 之前
var 
  bConnectOk: Boolean;
begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1); // 自動建立
  Application.CreateForm(TForm2, Form2); // 自動建立
  SetupForm := TSetupForm.Create(Application);
  try
    if not SetupForm.CheckSetupDataOk then 
    begin
      SetupForm.ShowModal;
      bConnectOk := SetupForm.ConnectionTestOk; // 連線測試結果
    end;
  finally
    SetupForm.Free;
  end;
  if bConnectOk then
    Application.Run;
程式的調子大概是這樣 SetupForm.CheckSetupDataOk 要負責檢查, 連線設定是否存在及連線是否成功 若否, 就跳出設定視窗, 要求修改或輸入連線設定, 並做連線測試.... 這樣應該就滿足你的需求了 發表人 - malanlk 於 2005/08/30 08:58:11
ntjrr
高階會員


發表:240
回覆:312
積分:110
註冊:2005-04-24

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-08-30 11:57:57 IP:222.184.xxx.xxx 未訂閱
我以前做的用户登录窗口是在主窗口的ONSHOW事件中跳出的,如果用户登录不设好,那么就进不去主程序,那么我现在能不能在用户登录窗口的ONSHOW中再加跳出连线窗口呢,在 onshow中检查注册表,有没有服务器设置内容,有的话就读入,正确连入后就不跳出连线设置窗口,否则就跳出来
------
我的编程起步于ktop,我将永远支持ktop
malanlk
尊榮會員


發表:20
回覆:694
積分:577
註冊:2004-04-19

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-08-30 12:13:33 IP:203.69.xxx.xxx 未訂閱
當然可以.... 其實你也是有自己想法的, 發問時可以表達出來啊, 不必客氣吧...
ntjrr
高階會員


發表:240
回覆:312
積分:110
註冊:2005-04-24

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-08-30 16:45:21 IP:222.184.xxx.xxx 未訂閱
malanlk兄,我今天花了些时间对注册表的一些语法学习了一下,有一点熟悉了,您也确定了我的ONSHOW的方法是正确的,那么下面我就请教我所想的思路的具体代码了,您在上文中其实就是说明了代码插入的位置,还未涉及到具体的代码。我是这样想的,(我先讲出来,对错由您再指正)在我的用户登录窗口ONSHOW中加入判断if 读注册表数据,如果存在则赋给ADO连接的参数,如果连接成功,那么设置的窗口就不跳出,用户登录就SHOW了,如果没有参数或者参数不正确,则跳出设置窗口,要求填入各项目内容,测试连结成功后保存到注册到。不知道思路对不,还有就是具体的代码如何组织?
------
我的编程起步于ktop,我将永远支持ktop
malanlk
尊榮會員


發表:20
回覆:694
積分:577
註冊:2004-04-19

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-08-30 17:54:52 IP:203.69.xxx.xxx 未訂閱
思路 ok! 這段放到 登入視窗的 OnShow 內
    if not SetupForm.CheckSetupDataOk then 
    begin
      SetupForm.ShowModal;
      if not SetupForm.ConnectionTestOk then
        Application.terminate;
    end;
SetupForm.CheckSetupDataOk 要負責檢查, 連線設定是否存在及連線是否成功 若否, 就跳出設定視窗, 要求修改或輸入連線設定, 並做連線測試, 測試成功就寫入資料並將ConnectionTestOk設為 TRUE
ntjrr
高階會員


發表:240
回覆:312
積分:110
註冊:2005-04-24

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-08-30 19:02:20 IP:222.184.xxx.xxx 未訂閱
用户登录框中ONSHOW代码已理解。那么就是SEUTPFORM的问题了,我以前程序中有一个FORM叫DATAMODULE,这个窗口也只有一个控件:ADOCONNECTION,所有窗口的连接都是从这上面相连的,那么我在想就把那个DATAMODULE窗口改做叫SETUPFORM了,在上面再加几个控件,LABEL和EDIT框,分别填入服务器名用户名密码和数据库名四个内容。以及测试连接和取消两个BUTTON。您觉得思路如何?那么那个SETUPFORM中的代码该如何设计?
------
我的编程起步于ktop,我将永远支持ktop
malanlk
尊榮會員


發表:20
回覆:694
積分:577
註冊:2004-04-19

發送簡訊給我
#10 引用回覆 回覆 發表時間:2005-08-30 20:15:23 IP:210.68.xxx.xxx 未訂閱
抱歉!不行ㄟ... DATAMODULE 如果是 TDataModule 類別就無法 ShowModal哦.... 因為他不是個 Form, 還是另外建一個新的 Form 吧.... CheckSetupDataOk 是 SetupForm 內的 Public function TSetupForm = class(TForm) .... private { Private declarations } .... FConnectionTestOk: Boolean; .... public { Public declarations } .... function CheckSetupDataOk: Boolean; property ConnectionTestOk: Boolean read FConnectionTestOk write FConnectionTestOk; end;
malanlk
尊榮會員


發表:20
回覆:694
積分:577
註冊:2004-04-19

發送簡訊給我
#11 引用回覆 回覆 發表時間:2005-08-30 20:24:26 IP:210.68.xxx.xxx 未訂閱
抱歉!不行ㄟ... DATAMODULE 如果是 TDataModule 類別就無法 ShowModal哦.... 因為他不是個 Form, 還是另外建一個新的 Form 吧.... CheckSetupDataOk 是 SetupForm 內的 Public function TSetupForm = class(TForm) .... private { Private declarations } .... FConnectionTestOk: Boolean; .... public { Public declarations } .... function CheckSetupDataOk: Boolean; property ConnectionTestOk: Boolean read FConnectionTestOk write FConnectionTestOk; end; ... function TSetupForm.CheckSetupDataOk: Boolean; begin // 連線設定是否存在及連線是否成功 // 若連線成功 Result := True end; [/code] FConnectionTestOk 在 OnShow 時設為 False; 在 測試連線的 button 的 OnClick 中 做連線測試, 如果通過, 寫入註冊表, FConnectionTestOk 設為 True, Close Form.
ntjrr
高階會員


發表:240
回覆:312
積分:110
註冊:2005-04-24

發送簡訊給我
#12 引用回覆 回覆 發表時間:2005-08-30 21:02:18 IP:222.184.xxx.xxx 未訂閱
// 連線設定是否存在及連線是否成功 // 若連線成功 Result := True 这一段如何写?前辈我现在在线上等着测了,成不成功我马上会回复的,
------
我的编程起步于ktop,我将永远支持ktop
ntjrr
高階會員


發表:240
回覆:312
積分:110
註冊:2005-04-24

發送簡訊給我
#13 引用回覆 回覆 發表時間:2005-08-30 21:16:46 IP:222.184.xxx.xxx 未訂閱
DATAMODULE 如果是 TDataModule 類別就無法 ShowModal,我不是这个类别,是一个FORM,只是叫了那个名字,其实叫任意的一个名字都没事的。 您的代码如下: private { Private declarations } FConnectionTestOk: Boolean; public { Public declarations } function CheckSetupDataOk:Boolean; property ConnectionTestOk:Boolean read FConnectionTestOk write FConnectionTestOk; end; var datamoduleform: Tdatamoduleform; implementation {$R *.dfm} function Tdatamoduleform.CheckSetupDataOk: Boolean; begin // end; 出错如下: [Warning] datamodule.pas(41): Return value of function 'Tdatamoduleform.CheckSetupDataOk' might be undefined
------
我的编程起步于ktop,我将永远支持ktop
malanlk
尊榮會員


發表:20
回覆:694
積分:577
註冊:2004-04-19

發送簡訊給我
#14 引用回覆 回覆 發表時間:2005-08-30 21:27:39 IP:210.68.xxx.xxx 未訂閱
function TSetupForm.CheckSetupDataOk: Boolean;
var
  reg: TRegistry;    begin
  reg := TRegistry.Create;
  try
    reg.RootKey := HKEY_CURRENT_USER;
    if Reg.OpenKey('\Software\Cyberhood',False) then
    begin
      Result := reg.ValueExists('Host');
      if Result then EditHost.Text := reg.ReadString('Host') else Exit;
      Result := reg.ValueExists('LoginName');
      if Result then EditLoginName.Text := reg.ReadString('LoginName') else Exit;
      Result := reg.ValueExists('Password');
      if Result then EditPassword.Text := reg.ReadString('Password') else Exit;
      ....
      with DataModule.ADOConnection do
      begin
        //帶入連線參數
        try
          // 連線
          // 連線成功 Result := True;
        except
           // 連線失敗
           Result := False;
        end;
      end;
    end
    else
      Result := False;
  finally
    reg.Free;
  end;
end;
ntjrr
高階會員


發表:240
回覆:312
積分:110
註冊:2005-04-24

發送簡訊給我
#15 引用回覆 回覆 發表時間:2005-08-30 21:41:17 IP:222.184.xxx.xxx 未訂閱
现在编绎没错误了,Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=mzsfwlb;Data Source=ntsj1;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=NTSJ1;Use Encryption for Data=False;Tag with column collation when possible=False 我本来是这么写的连线,(其实也不是用代码写的,是我设置好了后拷下来的)我在书上看到好象要=‘ edit(上面的内容),具体参数如何套入上面的?
------
我的编程起步于ktop,我将永远支持ktop
malanlk
尊榮會員


發表:20
回覆:694
積分:577
註冊:2004-04-19

發送簡訊給我
#16 引用回覆 回覆 發表時間:2005-08-30 21:53:10 IP:210.68.xxx.xxx 未訂閱
connectStr := 'Provider=SQLOLEDB.1;Persist Security Info=False;User ID=%s;Initial Catalog=mzsfwlb;Data Source=%s;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=%s;Use Encryption for Data=False;Tag with column collation when possible=False'; Format(connectStr,[EditUsedId.Text,EditDataSource.Text,EditWorkstation.Text]); 我手邊沒 SQL 測
ntjrr
高階會員


發表:240
回覆:312
積分:110
註冊:2005-04-24

發送簡訊給我
#17 引用回覆 回覆 發表時間:2005-08-30 22:17:14 IP:222.184.xxx.xxx 未訂閱
try
          ADOConnection1.ConnectionString:='Provider=SQLOLEDB.1;Persist Security Info=False;User ID=%s;Initial Catalog=mzsfwlb;Data Source=%s;Use Procedure for Prepare=1;Auto Translate=True;'
           'Packet Size=4096;Workstation ID=%s;Use Encryption for Data=False;Tag with column collation when possible=False';
         Format(ConnectionString,[EditLoginName.Text,EditHost.Text,EditHost.Text]);
        if  ADOCOnnection1.Connected=true then
          Result := True;
        except
           // 連線失敗
           Result := False;
        end;
正常运行了,我发现上面少了一个密码输入的内容。这整个的程式我想是第一步,这个是为其它设下伏笔的,然后第二步如何呢,大大我今晚先下了,明天进一步做,我自己也在看看相关资料,再学学。再加上您指点,我想肯定会攻下这一关。
------
我的编程起步于ktop,我将永远支持ktop
ntjrr
高階會員


發表:240
回覆:312
積分:110
註冊:2005-04-24

發送簡訊給我
#18 引用回覆 回覆 發表時間:2005-08-31 07:32:41 IP:222.184.xxx.xxx 未訂閱
我所说的放在用户登录的ONSHOW中好象不行,为什么不行呢,因为数据库的连接肯定不是预设的了,第一次连接是要等用户录入参数了,但程序运行前所有窗口都要Application.CreateForm,这样一来,很多窗口上的控件要找数据库连接,但又找不到,就一个一个提示出错了,根本无法编译了,看来要再试您上面的教我的那个方法了,
------
我的编程起步于ktop,我将永远支持ktop
malanlk
尊榮會員


發表:20
回覆:694
積分:577
註冊:2004-04-19

發送簡訊給我
#19 引用回覆 回覆 發表時間:2005-08-31 10:33:35 IP:203.69.xxx.xxx 未訂閱
你是在每一個 Form 上放 ADOConnection? 所以你應該加一個 TDataModule (File-->New-->Data Module) 並將此 Data Module 的 Name 設為 MyDM, 存檔為 UnitMyDM (紅色是我隨意取的, 方便下面引用) 然後將 SetupForm 上的 ADOConnection1 搬過去, 在 SetupForm, 及每一個要連線的 Form 上 implementation {$R *.dfm} uses UnitMyDM; 然後將每一個 Form 內用到的 ADOConnection1 都改用 MyDM.ADOConnection1 就可以全部集中用一個 ADOConnection 了....
ntjrr
高階會員


發表:240
回覆:312
積分:110
註冊:2005-04-24

發送簡訊給我
#20 引用回覆 回覆 發表時間:2005-08-31 11:53:24 IP:222.184.xxx.xxx 未訂閱
前辈,呵呵,想想真好玩,我以前的概念搞错了,您这么一说我就懂了,看来很多事情要多问多做就不怕不懂了,我以前是这么做的,就是新建了一个FORM,我把他的名字叫datamodule,然后上面只放了一个adoconnection控件,其它FORM的连接都通过这的,也就是说整个软件只有一个adoconnection,而不是每个都有的。但我搞错了,可能要象您所说的新建datamodule,而不是新建FORM把他的名字叫datamodule,我再试,前辈,我一般在早晨、中午各上半小时网左右,然后晚上5点后一直上网了,中间我不在网上的,所以回复的可能不及时,请谅! 發表人 - ntjrr 於 2005/08/31 12:01:29
------
我的编程起步于ktop,我将永远支持ktop
ntjrr
高階會員


發表:240
回覆:312
積分:110
註冊:2005-04-24

發送簡訊給我
#21 引用回覆 回覆 發表時間:2005-08-31 17:24:33 IP:222.184.xxx.xxx 未訂閱
新建一个DATAMODULE和新建一个FORM名字叫DATAMODULE,其实质上有没有区别?
------
我的编程起步于ktop,我将永远支持ktop
malanlk
尊榮會員


發表:20
回覆:694
積分:577
註冊:2004-04-19

發送簡訊給我
#22 引用回覆 回覆 發表時間:2005-08-31 17:45:29 IP:203.69.xxx.xxx 未訂閱
差別可大了, ㄧ個類別是 TDataModule ㄧ個是 TForm 你可以去看 Help
ntjrr
高階會員


發表:240
回覆:312
積分:110
註冊:2005-04-24

發送簡訊給我
#23 引用回覆 回覆 發表時間:2005-08-31 18:04:31 IP:222.184.xxx.xxx 未訂閱
好的,我按照您的方法做了,就是新建了一个DATAMODUL,不过为了和以前的兼容,减少改动,我就把这个名字叫做,DATAMODULEFORM了,单元名叫DATAMODULE,这样我以前的引用这个窗口就什么都不要改变了,否则我要一个一个窗口改名了。 在源程序窗口中的代码如下:  
 
 Application.Initialize;
  Application.CreateForm(Tzjmform, zjmform);
  Application.CreateForm(TDataModuleform, DataModuleform);
  Application.CreateForm(Tsqlsetupform, sqlsetupform);
  if sqlsetupform.CheckSetupDataOk=true then
  begin
  Application.CreateForm(TLogoinForm, LogoinForm);
  ......
  Application.CreateForm(Txtzcform, xtzcform);
   end
   else
   begin
   sqlsetupform.ShowModal;
   end;
  Application.Run;    end.
现在我一步一步来,要做的就是填入正确的参数后,写入注册表,然后下次就不出现这窗口了,我先做,不懂我再来问。谢谢
------
我的编程起步于ktop,我将永远支持ktop
ntjrr
高階會員


發表:240
回覆:312
積分:110
註冊:2005-04-24

發送簡訊給我
#24 引用回覆 回覆 發表時間:2005-08-31 18:28:09 IP:222.184.xxx.xxx 未訂閱
malanlk前辈,我写了半天还连不起来,能不能写一下setupform中按下测试连接后的代码让小弟借鉴一下?含写入注册表的那段
------
我的编程起步于ktop,我将永远支持ktop
malanlk
尊榮會員


發表:20
回覆:694
積分:577
註冊:2004-04-19

發送簡訊給我
#25 引用回覆 回覆 發表時間:2005-09-01 02:39:09 IP:61.219.xxx.xxx 未訂閱
procedure Tsqlsetupform.ConnectTestBtnClick(Sender: TObject);
var
  reg: TRegistry;
begin
  try
    ADOConnection1.ConnectionString:='Provider=SQLOLEDB.1;Persist Security Info=False;User ID=%s;Initial Catalog=mzsfwlb;Data Source=%s;Use Procedure for Prepare=1;Auto Translate=True;'
           'Packet Size=4096;Workstation ID=%s;Use Encryption for Data=False;Tag with column collation when possible=False';
         Format(ConnectionString,[EditLoginName.Text,EditHost.Text,EditHost.Text]);
    ADOCOnnection1.Connected := true;
  except
    // 連線失敗
  end;
  if ADOCOnnection1.Connected then
  begin
    ShowMessage('Connection Success!');
    FConnectionTestOk := True;
    reg := TRegistry.Create;
    try
      reg.RootKey := HKEY_CURRENT_USER;
      if Reg.OpenKey('\Software\Cyberhood',True) then // 第二個參數設為True 才可新增
      begin
        reg.WriteString('LoginName','"'   EditLoginName.Text   '"');
        reg.WriteString('Host','"'   EditHost.Text   '"');
        reg.CloseKey;
      end;  
    finally
      reg.Free;
    end;
    Close; 
  end
  else
  begin
    ShowMessage('Connection fail!');
  end
end;
ntjrr
高階會員


發表:240
回覆:312
積分:110
註冊:2005-04-24

發送簡訊給我
#26 引用回覆 回覆 發表時間:2005-09-01 07:10:37 IP:222.184.xxx.xxx 未訂閱
总是有如下错误,
------
我的编程起步于ktop,我将永远支持ktop
malanlk
尊榮會員


發表:20
回覆:694
積分:577
註冊:2004-04-19

發送簡訊給我
#27 引用回覆 回覆 發表時間:2005-09-01 11:25:17 IP:61.219.xxx.xxx 未訂閱
把 SJMZSF 的 .dpr 及 .pas 上傳 我看看, 只要 .dpr .pas 其他不要哦...
ntjrr
高階會員


發表:240
回覆:312
積分:110
註冊:2005-04-24

發送簡訊給我
#28 引用回覆 回覆 發表時間:2005-09-01 11:51:52 IP:222.184.xxx.xxx 未訂閱
只在文件夹内查找到DPR,为什么找不到PAS文件?我用的是查找,sjmzsf.*
------
我的编程起步于ktop,我将永远支持ktop
ntjrr
高階會員


發表:240
回覆:312
積分:110
註冊:2005-04-24

發送簡訊給我
#29 引用回覆 回覆 發表時間:2005-09-01 12:28:59 IP:222.184.xxx.xxx 未訂閱
是不是这一段?  
{$R *.res}    begin
  Application.Initialize;
  sqlSetupForm := TsqlSetupForm.Create(Application);
  try
   if not sqlsetupform.CheckSetupDataOk then
    begin
     sqlsetupform.ShowModal;
    end;
  finally
    sqlSetupForm.Free;
  end;
  if sqlsetupform.CheckSetupDataOk then
  begin
  Application.CreateForm(Tzjmform, zjmform);
  Application.CreateForm(TDataModuleform, DataModuleform);
  Application.CreateForm(TLogoinForm, LogoinForm);
  Application.CreateForm(Tsfform, sfform);
  Application.CreateForm(Tyszlform, yszlform);
  Application.CreateForm(Tbrzlform, brzlform);
  Application.CreateForm(Txjxmform, xjxmform);
  Application.CreateForm(Tsfcxform, sfcxform);
  Application.CreateForm(Tllzlform, llzlform);
  Application.CreateForm(Tkszlform, kszlform);
  Application.CreateForm(Tprintform, printform);
  Application.CreateForm(Tpjzfform, pjzfform);
  Application.CreateForm(Txmzlform, xmzlform);
  Application.CreateForm(Tbqxmform, bqxmform);
  Application.CreateForm(Tsjhfform, sjhfform);
  Application.CreateForm(Tsjbfform, sjbfform);
  Application.CreateForm(Tuserform, userform);
  Application.CreateForm(Taboutform, aboutform);
  Application.CreateForm(Tdwzlform, dwzlform);
  Application.CreateForm(Tcxsrform, cxsrform);
  Application.CreateForm(Tpjzfcxform, pjzfcxform);
  Application.CreateForm(Typxhtjform, ypxhtjform);
  Application.CreateForm(Trbform, rbform);
  Application.CreateForm(Txmxhtjform, xmxhtjform);
  Application.CreateForm(Tyhcxform, yhcxform);
  Application.CreateForm(Tgnbform, gnbform);
  Application.CreateForm(Thintform, hintform);
  Application.CreateForm(Tsjzlform, sjzlform);
  Application.CreateForm(Trkform, rkform);
  Application.CreateForm(Trkcxform, rkcxform);
  Application.CreateForm(Txtzcform, xtzcform);
  Application.Run;
   end;    end.
 
------
我的编程起步于ktop,我将永远支持ktop
malanlk
尊榮會員


發表:20
回覆:694
積分:577
註冊:2004-04-19

發送簡訊給我
#30 引用回覆 回覆 發表時間:2005-09-01 21:08:20 IP:61.219.xxx.xxx 未訂閱
var 
  bConnectOk: Boolean; // 這行是早就寫好的伏筆....    >     
        
ntjrr
高階會員


發表:240
回覆:312
積分:110
註冊:2005-04-24

發送簡訊給我
#31 引用回覆 回覆 發表時間:2005-09-01 21:40:27 IP:222.184.xxx.xxx 未訂閱
出现以下错误提示: [Hint] SJMZSF.DPR(51): Value assigned to 'bConnectOk' never used 另外我发现前辈将代码移到了最下面,那么就会出现这样的问题了: 请问前辈在DATAMODULE中的ADOCONNECTION在设计时要不要连接数据库?也就是它的CONNECTED是否在设计时是否为TRUE,如果在设计时不为TRUE的话,那么下面的所有窗口的CREAT都成了问题,因为很多窗口的CREAT事件中都要用到DATAMODULE中的ADOCONNECTION,否则就是不断的报错了。因为在大多数窗口的CREAT事件中我用了ADOTABLE或ADOQUERY在执行一些操作。
------
我的编程起步于ktop,我将永远支持ktop
[<<] [1] [2] [>>]
系統時間:2024-06-01 23:30:14
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!