數據開發(fā)基礎知識點_第1頁
數據開發(fā)基礎知識點_第2頁
數據開發(fā)基礎知識點_第3頁
數據開發(fā)基礎知識點_第4頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、單表取存數據SQL:(表中有個字段專門存放其它關聯(lián)表的資料,CustNo值是從基礎表B選?。㏒elect IDA,CustNo from A多表關聯(lián)存取數據:(通過外鍵關聯(lián)到基礎表取基礎表信息)Select IDA,A.IDCust,B.CustNo from A left Join B on (A.IDCust=B.IDCust)兩種設計的比較:單表:優(yōu)點寫SQL方便只需本身的表。無需關聯(lián)其它表。缺點一但基礎表B進行變動,業(yè)務表沒辦法即時變動,需寫相關方法,把相關聯(lián)的表的相關數據進行統(tǒng)一更新。多表關聯(lián):優(yōu)點可以和基礎資料同步,基礎資料一改,相關的所有信息多改。無需擔心。缺點:如果一個業(yè)務表關

2、聯(lián)了 N多基礎資料,SQL語句外鍵關聯(lián)N張表,SQL語句寵大.數據存取比較:單表:更新什么的多比較簡單,自已寫SQL,或交給數據集跟據數據存取方式,進行提交,參考數據開發(fā)基礎知識點-1多表關聯(lián):多表關聯(lián),難點在于處理SQL,假設業(yè)務表關聯(lián)基礎表,我進行業(yè)務編輯,提交更新刪除應是對業(yè)務表進行處理,而基 礎表信息保持不變?;蛘叨啾黻P聯(lián),我只想對單中的幾張表進行數據處理,而其它的不動。第一種方法:自已寫提交SQL,遍歷數據集,跟據數據集改變的狀態(tài)寫SQL語句進行相對應的更相:例:TClientDataSetTClientDataSet更改的數據多保存在其Delta中.我們可以這么做:/把修改的數據保

3、存在一個臨時TClientDataSet,當然也可以直接對ClientDataSet1進行一條一條判斷.ClientDataSet2.Data:=ClientDataSet1.Delta;ClientDAtaSet2.First;while not ClientDataSet2.Eof dobeginif ClientDataSet2.UpdateStatus=usUnModified then 未更改elseif ClientDataSet2.UpdateStatus=usModified then /修改(自已寫組合 SQL 語句./自已寫組合SQL語句.進行處理elseif Client

4、DataSet2.UpdateStatus=usInserted then 新增(自已寫 SQL 語句/自已寫組合SQL語句.進行處理elseif ClientDataSet2.UpdateStatus=usDeleted then 刪除(自已寫 SQL 語句/自已寫組合SQL語句.進行處理ClientDataSet2.Next;end;此種方法自已組合SQL 一不小心寫錯了,就掛了。假設我同時改動一萬條數據.可以想想這SQL語句有多大.如果是執(zhí)行一萬次有不合理,和服務器交互一萬次,真心考驗服務器,及網絡.第二種方法:利用相關類似的TUpdateSQL控件來處理.現(xiàn)在的QUERY控件多有個屬性,可以掛勾TUpdateSQL 一類控件. 這個控件的好處就是數據集更新時,新增,刪除,修改是通過此控件的DelSQL,InsertSQL,ModifySQL的語句生成對應的 SQL進行提交。而且此控件可以在設計時設計,直連到相關語句自動生成幾個處理語句如下圖:(關聯(lián)好各個控件)按下 GenerateSQL會自動生成如下:在此生成的語句,可以自已改動為自已想要的??梢苑乓恍┫嚓P觸發(fā)操作也可總結:兩種方法各有各的優(yōu)點,不同的方案選擇最佳的方法,如有

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論