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

DBGrid-----2

答題得分者是:tech_state
nieo
一般會員


發表:32
回覆:56
積分:17
註冊:2003-07-25

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-08-25 15:36:34 IP:210.68.xxx.xxx 未訂閱
請問各位大大: 我把資料庫的路徑設成下面的程式碼: ADOTable1->ConnectionString = "FILE NAME=" ExtractFilePath(Application->ExeName) "1.udl"; ADOTable1->TableName = "維修單"; ADOTable1->Active = true; 可是我這樣設定後,想直接在DBGrid上修改資料就不行了,請問各位大大該如何解決?
tech_state
版主


發表:44
回覆:638
積分:641
註冊:2003-02-10

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-08-25 16:43:06 IP:61.221.xxx.xxx 未訂閱
nieo, 您好 我想問題應該是出在以下這行 ADOTable1->ConnectionString = "FILE NAME="+ExtractFilePath(Application->ExeName)+"1.udl"; ConnectionString的資料應該不止您列的這些資料而已, 請參考以下連結資料,試試看,有問題再提出,大家一起討論。 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=35428 ================================= 涵養怒中氣。謹防順口言。留心忙裡錯。珍惜有時錢。 是非終日有,不聽自然無 天下本無事,庸人自擾之
nieo
一般會員


發表:32
回覆:56
積分:17
註冊:2003-07-25

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-08-25 23:19:30 IP:210.68.xxx.xxx 未訂閱
版主大大: 您說的其他資訊是什麼意思呢?我不太清楚ㄝ,還是我因為我沒在
tech_state
版主


發表:44
回覆:638
積分:641
註冊:2003-02-10

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-08-26 00:09:30 IP:203.204.xxx.xxx 未訂閱
nieo, 您好 不知您是否有看過直接設定連接的ADOTable1->ConnectionString的內容? 我的習慣如下: (1)用一tmp.ini檔案紀錄ADOTable1->ConnectionString的內容,如下 [DATABASE] CON_STR=Provider=SQLOLEDB.1;Password="";Persist Security Info=True;User ID=sa;Initial Catalog=eos_db;Data Source=server2000;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=sa    (2)在以下的Function中寫入有關ADOTable1->ConnectionString的內容。
__fastcall TForm1::TForm1(TComponent* Owner)
   : TForm(Owner)
{
   //ConnectionString從tmp.ini中讀取[DATABASE]之CON_STR的值,填ConnectionString
   AnsiString inifile = ExtractFilePath(Application->ExeName)   "tmp.ini";//參數檔
   TIniFile * PIniFile = new TIniFile(inifile);
   ADOConnection1->Connected = false;
   ADOConnection1->ConnectionString = PIniFile->ReadString("DATABASE", "CON_STR", ADOConnection1->ConnectionString);
   try
   {
      try
      {
         ADOConnection1->Connected = true;
      }
      catch(...)
      {
         throw Exception("無法連結資料庫");
      }
   }
   __finally
   {
      delete PIniFile;
   }
   ADOTable1->Active = true;
}
(3)如此一來,您的程式封裝後,不管安裝到哪一台機器,只要修改tmp.ini中連結的SQL Server以及user id和password即可。 ================================= 涵養怒中氣。謹防順口言。留心忙裡錯。珍惜有時錢。 是非終日有,不聽自然無 天下本無事,庸人自擾之 發表人 - tech_state 於 2003/08/26 00:32:32
nieo
一般會員


發表:32
回覆:56
積分:17
註冊:2003-07-25

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-08-26 00:37:08 IP:210.68.xxx.xxx 未訂閱
請問大大: _finally是在哪一個try裡面?
nieo
一般會員


發表:32
回覆:56
積分:17
註冊:2003-07-25

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-08-26 00:40:29 IP:210.68.xxx.xxx 未訂閱
大大不好意思,我看錯了!! 對了!那只要設定好後,DBGrid就可以直接修改嗎?即使不用寫程式碼在OnCellClick事件裡嗎?
nieo
一般會員


發表:32
回覆:56
積分:17
註冊:2003-07-25

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-08-26 02:00:31 IP:210.68.xxx.xxx 未訂閱
還有再請問大大一下,為什麼我定義TIniFile *ini;可是compiler都一直顯示Undefined symbol 'TIniFile' Undefined symbol 'ini' Type name expacted Statement missing;
tech_state
版主


發表:44
回覆:638
積分:641
註冊:2003-02-10

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-08-26 09:42:33 IP:61.221.xxx.xxx 未訂閱
nieo, 您好  
引言:那只要設定好後,DBGrid就可以直接修改嗎?即使不用寫程式碼在OnCellClick事件裡嗎?
如果您所有的設定都有設定好的話,我想應該是沒有問題的。
引言:為什麼我定義TIniFile *ini;可是compiler都一直顯示Undefined symbol 'TIniFile'
#include 
,這個問題應該可以由Help檔查詢到喔!看來您要多訓練自己查詢Help檔囉! ================================= <>涵養怒中氣。謹防順口言。留心忙裡錯。珍惜有時錢。 <>是非終日有,不聽自然無 <>天下本無事,庸人自擾之 發表人 -
nieo
一般會員


發表:32
回覆:56
積分:17
註冊:2003-07-25

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-08-26 12:03:44 IP:211.74.xxx.xxx 未訂閱
謝謝大大的指導!!
nieo
一般會員


發表:32
回覆:56
積分:17
註冊:2003-07-25

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-08-26 12:35:04 IP:211.74.xxx.xxx 未訂閱
忘了問大大一個問題: 是不是要把ADOConnection1裡的所有資訊都貼到INI檔裡面啊?
tech_state
版主


發表:44
回覆:638
積分:641
註冊:2003-02-10

發送簡訊給我
#11 引用回覆 回覆 發表時間:2003-08-26 13:29:15 IP:61.221.xxx.xxx 未訂閱
引言: 是不是要把ADOConnection1裡的所有資訊都貼到INI檔裡面啊?
是的。 然後再根據您的需求做修改。 ================================= 涵養怒中氣。謹防順口言。留心忙裡錯。珍惜有時錢。 是非終日有,不聽自然無 天下本無事,庸人自擾之
nieo
一般會員


發表:32
回覆:56
積分:17
註冊:2003-07-25

發送簡訊給我
#12 引用回覆 回覆 發表時間:2003-08-26 13:48:26 IP:211.74.xxx.xxx 未訂閱
對了,大大請問一下: 我在其他書上有看到,他再Data Source那一欄裡,填的是他的資料庫的路徑,請問一下,是不是SQL做的資料庫只要填個server2000就可以了?
tech_state
版主


發表:44
回覆:638
積分:641
註冊:2003-02-10

發送簡訊給我
#13 引用回覆 回覆 發表時間:2003-08-26 14:15:39 IP:61.221.xxx.xxx 未訂閱
引言: 我在其他書上有看到,他再Data Source那一欄裡,填的是他的資料庫的路徑,請問一下,是不是SQL做的資料庫只要填個server2000就可以了?
如果server2000是您的資料庫主機的話,那就是填server2000。 如果資料庫主機是abc,那就是填abc。 ================================= 涵養怒中氣。謹防順口言。留心忙裡錯。珍惜有時錢。 是非終日有,不聽自然無 天下本無事,庸人自擾之
nieo
一般會員


發表:32
回覆:56
積分:17
註冊:2003-07-25

發送簡訊給我
#14 引用回覆 回覆 發表時間:2003-08-26 14:18:52 IP:211.74.xxx.xxx 未訂閱
謝謝大大!!
系統時間:2024-05-06 19:09:38
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!