Delphi7實現添加記錄的“攜帶”實現

來源:互聯網
上載者:User

在資料庫管理系統中,資料錄入是資料處理的準系統,錄入操作方便與否是衡量資料庫應用程式互動良莠的指標之一。錄入中除了應要對錄入資料進行合法檢驗外,還應為使用者提供更多的方便操作,即對於“規範性”資料,如:性別、職稱等欄位的資料,應儘可能供使用者“選擇”錄入,而非直接文字輸入,另外,如:出生年月、聯絡電話、郵編等類似名稱的欄位,程式應設定資料錄入格式,這可以從一定程度上“規範”資料,並提高錄入速度。除此以外,在較大資料量的錄入中,使用者還希望更快速地進行相似資料的批量錄入,實現高效資料處理。本文只介紹“批量資料”的錄入處理。

針對大多數的要錄入的記錄資料都與現有(即已錄入)資料具有或多或少的相同內容,因此,修改記錄的少量欄位資料無疑要比逐個欄位內容錄入快得多。由於此方法源自Foxbase系統的“Set carry on”命令,因此取名為記錄“攜帶”。以下具體介紹這種錄入資料時採用的“攜帶”功能的實現方法。

一、建立一動態數組,用來存放整條記錄的所有欄位值(不含“備忘型”等類型),定義如下:

MyDynamic_Record: Variant; //定義一個動態可變數組,來存放目前記錄各欄位值

注意此處不限定數組單元數和單元實值型別,更具有通用性。

二、在表對象的InsertBefore事件中,完成來源資料的讀取並存入動態數組MyDynamic_Record中。

具體是,使用者定位到要作為源的記錄位置(可以是末記錄或中間某一記錄),使用Insert插入鍵(或其它應用程式提供的按鍵或按鈕)進行插入操作前,為表對象的InsertBefore事件加入讀取目前記錄的各欄位值的代碼(見以下MyRecordScatTo()自訂函數),存入MyDynamic_Record中。

三、在表對象的InsertAfter事件中將MyDynamic_Record數組值寫入新增的記錄的各欄位值(代碼見以下My_GathFrom自訂函數)。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.