Server端的procedure Client端呼叫的問題 |
答題得分者是:jieshu
|
terrychen
尊榮會員 發表:90 回覆:794 積分:501 註冊:2003-05-01 發送簡訊給我 |
再次請教前輩
前人留下的程式D3
Server端
procedure TScAppSbr.SetSQL(Value: OleVariant); begin if UpperCase(Value[0]) = 'PD010' then With Pd010 do begin Close; SQL.Clear; SQL.Add(Value[1]); end; ..... end Client端 sSQL := 'Select *' ' From Sc710' ' Where SNo = :sno'; SetSQL(RS1,SQL1,sSQL); SQL1.Provider.SetParams(VarArrayOf([Sc600Priceno.AsString])); SQL1.Open;這樣正常沒問題 經小弟修改後 Server端 procedure TDM.SetSQL(Value: OleVariant); begin if UpperCase(Value[0]) = 'PD010' then With Pd010 do begin Close; SQL.Clear; SQL.Add(Value[1]); end; ..... end; Client端 sSQL := 'Select *' ' From Sc710' ' Where SNo = ''' Sc600Priceno.AsString ''''; SetSQL(DCOMCn1,Tmp,sSQL); Tmp.Open;小弟只是把傳參數的地方修改掉 造成Tmp.fieldbyname('Serno').asstring ===>Serno欄位找不到 小弟一直不明白為何要傳參數 也不會傳,所以將之改掉 煩請前輩們給點意見 ps.小弟尚有疑慮就是SERVER端的procedure 並沒有回傳值為何可以在Client 使用Tmp.Open 發表人 - Terrychen 於 2003/12/09 15:20:14 | ||
william
版主 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
|||
terrychen
尊榮會員 發表:90 回覆:794 積分:501 註冊:2003-05-01 發送簡訊給我 |
|||
william
版主 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
|||
terrychen
尊榮會員 發表:90 回覆:794 積分:501 註冊:2003-05-01 發送簡訊給我 |
|||
william
版主 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
|||
terrychen
尊榮會員 發表:90 回覆:794 積分:501 註冊:2003-05-01 發送簡訊給我 |
|||
william
版主 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
|||
terrychen
尊榮會員 發表:90 回覆:794 積分:501 註冊:2003-05-01 發送簡訊給我 |
|||
terrychen
尊榮會員 發表:90 回覆:794 積分:501 註冊:2003-05-01 發送簡訊給我 |
|||
william
版主 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
|||
terrychen
尊榮會員 發表:90 回覆:794 積分:501 註冊:2003-05-01 發送簡訊給我 |
|||
william
版主 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
|||
terrychen
尊榮會員 發表:90 回覆:794 積分:501 註冊:2003-05-01 發送簡訊給我 |
|||
jieshu
版主 發表:42 回覆:894 積分:745 註冊:2002-04-15 發送簡訊給我 |
引言: 小弟只是把傳參數的地方修改掉 造成Tmp.fieldbyname('Serno').asstring ===>Serno欄位找不到 小弟一直不明白為何要傳參數 jieshu: sql裡有用到參數,當然要傳參數,傳參數有傳參數的好處! 也不會傳,所以將之改掉 jieshu: 原本可以用為什麼要改! 煩請前輩們給點意見 ps.小弟尚有疑慮就是SERVER端的procedure 並沒有回傳值為何可以在Client 使用Tmp.Open 發表人 - Terrychen 於 2003/12/09 15:20:14他已經將SQL丟給Server的DataSet,當然可以直接Open。看來你還要多看些書才行!且貼上的程式碼沒有說明變數是什麼東西,。
------
人生有夢,逐夢而行 人若為善,福雖未至,禍已遠離 人若為惡,禍雖未至,福已遠離 http://www.taconet.com.tw/jieshu/ |
||
terrychen
尊榮會員 發表:90 回覆:794 積分:501 註冊:2003-05-01 發送簡訊給我 |
|||
speedup
資深會員 發表:19 回覆:259 積分:280 註冊:2003-07-04 發送簡訊給我 |
|||
jieshu
版主 發表:42 回覆:894 積分:745 註冊:2002-04-15 發送簡訊給我 |
引言: 感謝回應 前輩所言甚是 小弟書真的看的不多 公司相關的 書籍也真是少的可憐 加上沒人會3層式架構而公司又希望能將D3的程式以D7重寫過 最近會找ㄍ時間去買書,現在小弟只能上網找相關資料 我會加油的!! >>< face="Verdana, Arial, Helvetica"> 那傳授一、二招給你用用: 1.沒有參數的SQL可用ClientDataSet.CommandText直接給,就像Query.SQL.Text,但Server的DataSetProvider.Options要設定一下,不懂的請參考Help,雖然Help有時候都看不懂,但等你看懂了,很多東西都可以很快就看懂,很好用喔! 2.執行ClientDataSet.DataRequest,可呼叫Server的DataSetProvider的OnDataRequest事件,很好用喔,不用自己每支程式去寫Method。
------
人生有夢,逐夢而行 人若為善,福雖未至,禍已遠離 人若為惡,禍雖未至,福已遠離 http://www.taconet.com.tw/jieshu/ |
||
terrychen
尊榮會員 發表:90 回覆:794 積分:501 註冊:2003-05-01 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |