線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1107
推到 Plurk!
推到 Facebook!

DBText 無法正常顯示資料

答題得分者是:stillalive
u86210779
一般會員


發表:16
回覆:41
積分:16
註冊:2004-06-08

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-06-11 18:08:12 IP:220.142.xxx.xxx 未訂閱
ADOConnection1 屬性 值 connection string SQL Server 2000 login porompt FALSE ADOTable1(訂單) DataSource1 屬性 值 屬性 值 Connect ADOConnection1 DataSet ADOTable1 TableName orders ADOTable2(客戶) DataSource2 屬性 值 屬性 值 Connect ADOConnection1 DataSet ADOTable2 TableName customers MasterSource DataSource1 MasterFields cust_no ADOTable3(員工) DataSource3 屬性 值 屬性 值 Connect ADOConnection1 DataSet ADOTable3 TableName empy MasterSource DataSource1 MasterFields empy_no Form1 DBNavigator1 訂單編號 DBEdit1 訂單名稱 DBEdit2 客戶代號 DBEdit3 客戶名稱 DBText1 業務員代號 DBEdit4 業務員 DBText2 DBEdit1 DBEdit2 屬性 值 屬性 值 DataSource1 ADOTable1 DataSource1 ADOTable1 DataField order_no DataField project DBEdit3 DBText1 屬性 值 屬性 值 DataSource1 ADOTable1 DataSource1 ADOTable2 DataField cust_no DataField cust_name DBEdit4 DBText2 屬性 值 屬性 值 DataSource1 ADOTable1 DataSource1 ADOTable3 DataField e mpy_no DataField e mpy_name 如以上之設定, 請問新增訂單資料時已將客戶代號,業務員代號正確輸入 且 post 完成, 為何業務員姓名可正確帶出來, 而客戶名稱卻無法顯示.只看到空白 而 next record 或 prior record 才會顯示客戶名稱 謝謝你的幫忙
stillalive
初階會員


發表:7
回覆:148
積分:41
註冊:2004-04-07

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-06-11 20:14:39 IP:211.75.xxx.xxx 未訂閱
u86210779 你好 從你需求中知你不過是訂單ENTRY時想帶入其它TABLE名稱 , 實在沒必要再作MASTER/DETAIL關聯來滿足 , 而且訂單檔當MASTER TABLE 也不合LOGIC , 建議你從訂單TABLE去LOOKUP其它TABLE來新增名稱欄位 , 這比較正式些 .
T.J.B
版主


發表:29
回覆:532
積分:497
註冊:2002-08-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-06-11 22:24:28 IP:218.160.xxx.xxx 未訂閱
你的客戶名稱(DBText1) 所連接的DataSource  應該是DataSource2 而非DataSource1 天行健 君子當自強不息~~@.@
------
天行健
君子當自強不息~~@.@
u86210779
一般會員


發表:16
回覆:41
積分:16
註冊:2004-06-08

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-06-11 23:00:22 IP:218.165.xxx.xxx 未訂閱
引言: u86210779 你好 從你需求中知你不過是訂單ENTRY時想帶入其它TABLE名稱 , 實在沒必要再作MASTER/DETAIL關聯來滿足 , 而且訂單檔當MASTER TABLE 也不合LOGIC , 建議你從訂單TABLE去LOOKUP其它TABLE來新增名稱欄位 , 這比較正式些 .
謝謝你的指正, 因為本人很懶, 希望這邊訂一訂,那邊訂一訂. 程式就能跑 而不想寫太多程式碼.實際上用 ADOQuery 根本沒這問題. 在實務上以訂單單頭及訂單明細資料,用master/detail來作才合邏輯. 不過不論如何還是謝謝你
u86210779
一般會員


發表:16
回覆:41
積分:16
註冊:2004-06-08

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-06-11 23:07:59 IP:218.165.xxx.xxx 未訂閱
引言: 你的客戶名稱(DBText1) 所連接的DataSource 應該是DataSource2 而非DataSource1 天行健 君子當自強不息~~@.@
你好 我是希望當訂單資料移動時, 客戶資料及業務員資料能同步修正, 所以DBText1所連接的為 DataSource1 當我問這問題時, 我明明以將它排的好好的, 哪知存入後竟變成這復德行.讓各位看的很難過, 真過意不去. 對不起
stillalive
初階會員


發表:7
回覆:148
積分:41
註冊:2004-04-07

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-06-12 06:48:45 IP:211.75.xxx.xxx 未訂閱
謝謝你的指正, 因為本人很懶, 希望這邊訂一訂,那邊訂一訂. 程式就能跑 而不想寫太多程式碼.實際上用 ADOQuery 根本沒這問題. 在實務上以訂單單頭及訂單明細資料,用master/detail來作才合邏輯. 不過不論如何還是謝謝你 ========================================================== ADOQUERY 若JOIN 數個TABLE做IO會有問題喔 , 老兄目前方式若能 RUN 的順利 , 那就祝福你呀 .
u86210779
一般會員


發表:16
回覆:41
積分:16
註冊:2004-06-08

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-06-16 22:36:28 IP:218.165.xxx.xxx 未訂閱
引言: ADOQUERY 若JOIN 數個TABLE做IO會有問題喔 , 老兄目前方式若能 RUN 的順利 , 那就祝福你呀 .
stillalive 你好 使用 ADOQuery Join 數個 Table 做法如下 :
select order.order_no, order.project, order.cust_no, cust.cust_name, order.empy_no, empy.empy_name
from order, cust, empy
where cust.cust_no = order.cust_no and empy.empy_no = order.empy_no    procedure ADOQueryBeforePost(dataset:TdataSet);
begin
  ADOConnection1.BeginTrans;
end;    procedure ADOQueryAfterPost(DataSet:TdataSet);
begin
  ADOConnection1.CommitTrans;
end;    procedure ADOQueryPostError(DataSet:TDataSet; e:EDataBaseError; var  Action:TdataAction);
begin
  ADOConnection1.RollBackTrans;
  Action := Abort;
end;
以上得做法應該沒有問題
stillalive
初階會員


發表:7
回覆:148
積分:41
註冊:2004-04-07

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-06-17 22:24:13 IP:211.75.xxx.xxx 未訂閱
以老哥運作方式看來 , 似乎是下達SQL敘述來異動資料 . 我是直接用DATASNAP APPLYUPDATES 方式來作 , JION 其它TABLE作異動真的碰到許多問題 .
u86210779
一般會員


發表:16
回覆:41
積分:16
註冊:2004-06-08

發送簡訊給我
#9 引用回覆 回覆 發表時間:2004-06-19 20:33:44 IP:61.62.xxx.xxx 未訂閱
引言: 以老哥運作方式看來 , 似乎是下達SQL敘述來異動資料 . 我是直接用DATASNAP APPLYUPDATES 方式來作 , JION 其它TABLE作異動真的碰到許多問題 .
stillalive 你好 可否請教你如何做的, 謝謝
stillalive
初階會員


發表:7
回覆:148
積分:41
註冊:2004-04-07

發送簡訊給我
#10 引用回覆 回覆 發表時間:2004-06-23 15:46:50 IP:211.75.xxx.xxx 未訂閱
DataSnap 是Delphi 6 才出來的 . 你如不需 3 Tier 架構 , 可用AdoQuery SimpleClientDataSet DataSource 來作 , 將DataSource與元件連在一起 , 異動時直接用ClientDataSet.ApplyUpdates(-1) .
u86210779
一般會員


發表:16
回覆:41
積分:16
註冊:2004-06-08

發送簡訊給我
#11 引用回覆 回覆 發表時間:2004-06-23 20:01:19 IP:218.165.xxx.xxx 未訂閱
引言: DataSnap 是Delphi 6 才出來的 . 你如不需 3 Tier 架構 , 可用AdoQuery SimpleClientDataSet DataSource 來作 , 將DataSource與元件連在一起 , 異動時直接用ClientDataSet.ApplyUpdates(-1) .
謝謝你, 我試試看
系統時間:2024-07-03 5:16:41
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!