『壹』 DELPHI資料庫操作
用sql查詢語名進行:
1、用查詢回車選定一條記錄,插入到銷售表中.
假設庫存表欄位為:(零件號,名稱,單價,數量):
銷售表欄位為:(零件號1,名稱1,單價1,數量1)
query1.close;
query1.sql.clear;
query1.sql.add('insert into 銷售表(零件號1,名稱1,單價1,數量1) select (零件號,名稱,單價,數量) from 庫存表 where 條件 ');
query1.prepare;
query1.exesql;
這方面的書太多,到大書店都能購到,不過我建議你買一些Delphi資料庫編程方面帶實例方面的書看看.
『貳』 Delphi資料庫系統開發完全手冊的內容簡介
本書分三大部分,第一部分為Delphi編程篇,主要介紹使用Delphi開發資料庫系統必須掌握的技術,這些技術最大限度地與實際項目案例相結合。第二部分為SQL Server應用篇,主要介紹SQL Server資料庫安裝、管理、開發及維護的相關技術。第三部分為實例開發篇,精選了當前應用最廣泛的資料庫管理系統,內容包括定製自己的工作環境、物流配送管理系統、倉庫管理系統、銷售管理系統、工資管理系統、人事管理系統、客戶管理系統、固定資產管理系統和財務憑證管理系統。這些系統即可以獨立使用,也可作為企業綜合管理系統的重要組成部分。本書附有配套光碟。光碟提供了書中所有案例的全部源代碼,所有源代碼都經過精心調試,在Windows XP和Windows 2000下全部測試通過,保證能夠正常運行。本書內容精練、重點突出、實例豐富,是各級程序開發人員必備的和不可多得的參考書,本書也非常適合大中專院校師生學習參考。 圖書目錄 實例開發篇第15章定製自己的工作環境25315.1代碼編輯器常規選項設置25315.2代碼編輯器源文件選項設置25515.3代碼編輯器顯示狀態設置26115.4語法著色26215.5代碼智能選項設置26415.6環境選項參數設置26515.7窗體和組件設置26715.8個性化開發環境設置268第16章Delphi 7在物流配送中的應用27116.1物流配送管理系統概述27116.1.1開發背景27116.1.2運行環境27116.2系統調查27116.2.1手工流程27116.2.2需求分析27216.3系統分析27216.3.1系統功能27216.3.2業務流程27316.4資料庫設計27316.4.1資料庫概念設計27316.4.2資料庫邏輯結構設計27316.5處理過程分析27716.5.1配送審核處理過程分析27716.5.2配送開票處理過程分析27716.6主程序設計27816.6.1實現目標27816.6.2建立主窗體27916.6.3程序相關代碼28016.7數據模塊設計28116.8程序設計與編碼28216.8.1配送申請管理設計28216.8.2配送審核管理設計28816.8.3配送開票管理設計29116.8.4配送查詢管理設計29616.8.5系統登錄程序設計29816.9疑難問題分析解決30016.9.1如何在TImageList中存儲大圖標30016.9.2如何實現動態查詢30116.9.3如何去除重復行30116.9.4動態創建窗體30216.9.5如何實現配送開票查詢30316.9.6如何將表格中某些列設置為只讀30416.10程序調試及錯誤處理30516.10.1程序調試30516.10.2異常處理30716.11程序設計清單30816.12技術、經驗總結30816.12.1技術總結30816.12.2經驗總結30916.13程序的打包與發行309第17章Delphi 7在倉庫中的應用31217.1倉庫管理系統概述31217.1.1倉庫管理系統簡介31217.1.2系統功能描述31217.2系統調查31317.3需求分析31317.4系統設計31417.4.1系統流程圖31417.4.2業務流程31517.5資料庫設計31517.5.1資料庫概念設計31517.5.2資料庫邏輯結構設計31517.5.3數據字典31717.6處理過程分析31717.6.1商品入庫處理過程分析31717.6.2商品出庫處理過程分析31817.7主窗體設計31817.8數據模塊設計31917.9程序設計與編碼31917.9.1商品入庫管理設計31917.9.2商品出庫管理設計32617.9.3商品庫存查詢設計32817.10疑難問題分析解決32917.10.1使用TADODataSet組件時應該注意的問題32917.10.2雙擊DBGrid表格,如何顯示當條數據詳細信息33017.10.3如何判斷資料庫中是否有相同欄位的數據33117.10.4判斷進價、批發價、零售價是否輸入合法33217.11程序測試常見錯誤解決33217.12程序設計清單33517.13技術、經驗總結33617.13.1技術總結33617.13.2經驗總結336第18章Delphi在銷售中的應用33718.1銷售管理系統概述33718.1.1開發背景33718.1.2銷售管理系統簡介33718.1.3系統功能描述33718.2系統分析33818.2.1系統規劃33818.2.2系統流程圖33918.2.3業務流程33918.3資料庫設計33918.3.1資料庫概念設計33918.3.2資料庫邏輯結構設計34018.4主窗體設計34118.5狀態欄設計34218.6數據模塊設計34318.7銷售報表設計34318.8程序設計與編碼34618.8.1商品銷售管理設計34618.8.2銷售退貨管理設計35218.8.3客戶訂貨管理設計35518.8.4銷售查詢管理設計35818.9疑難問題分析解決36018.9.1如何防止單擊TBitBtn按鈕時關閉模式窗體36018.9.2使用非數據控制組件顯示和瀏覽數據36118.9.3在編輯框中只允許輸入數字36118.9.4按Enter鍵控制焦點的移動36118.9.5在銷售商品時,實現訂單銷售36218.9.6如何實現超期應收款查詢36218.10程序設計清單36218.11技術、經驗總結36318.11.1技術總結36318.11.2經驗總結36418.12系統的編譯與發行364第19章Delphi在工資中的應用36519.1工資管理系統概述36519.1.1系統任務36519.1.2設計目標36519.2需求分析36519.2.1業務調查36519.2.2系統規劃36619.3資料庫設計36619.3.1資料庫概念設計36619.3.2資料庫邏輯結構設計36719.3.3數據字典36819.4處理過程分析36919.4.1工資發放處理過程分析36919.4.2工資調整處理過程分析36919.5主窗體設計36919.6菜單設計37019.7數據模塊設計37119.8窗體模板設計37119.9程序設計與編碼37219.9.1員工基本工資管理設計37219.9.2員工浮動工資管理設計37719.9.3工資發放管理設計37919.9.4員工工資調整管理設計38219.10疑難問題分析解決38619.10.1使用TRVSystem組件編寫報表38619.10.2如何控製表格中焦點的移動38719.10.3編寫簡潔、靈活的代碼38719.10.4如何限製表格中某列的輸入38819.10.5員工工資核算38819.10.6查詢上月余額38919.11軟體測試38919.12程序設計清單39019.13技術、經驗總結39019.13.1創建視圖39019.13.2經驗總結392第20章Delphi在人事中的應用39320.1人事管理系統概述39320.1.1開發背景及意義39320.1.2系統目標39320.2系統分析39320.2.1系統規劃39320.2.2系統流程圖39520.3資料庫設計39520.3.1資料庫概念設計39520.3.2資料庫邏輯結構設計39520.4處理過程分析39620.4.1人員檔案處理過程分析39620.4.2人員調動處理過程分析39720.5主窗體設計39720.6數據模塊設計39820.7程序設計與編碼39820.7.1員工信息管理設計39820.7.2添加人員檔案程序設計39920.7.3修改人員檔案程序設計40220.7.4刪除人員檔案管理設計40720.7.5員工調動管理設計40820.8疑難問題分析解決0.8.1如何將數據表中的欄位值添加到下拉列表框中0.8.2如何防止用戶改變下拉列表框中的當前數據41220.8.3隱藏窗體的標題欄41320.8.4保存的實現方法探究41320.8.5圖片的切換41420.8.6控制按鈕是否可用41420.9程序調試與錯誤處理41520.10程序設計清單41620.11技術、經驗總結41720.11.1技術總結41720.11.2經驗總結41820.12程序的編譯與發行418第21章Delphi在客戶中的應用41921.1客戶管理系統概述41921.1.1客戶管理系統簡介41921.1.2系統功能描述41921.2系統分析41921.2.1系統規劃41921.2.2系統流程圖42121.2.3業務流程42121.3資料庫設計42121.3.1資料庫概念設計42221.3.2資料庫邏輯結構設計42221.4處理過程分析42321.4.1客戶基礎信息處理過程分析42321.4.2客戶信息呼叫處理過程分析42421.5主窗體設計42421.6菜單設計42621.7工具欄設計42721.8數據模塊設計42821.9程序設計與編碼42921.9.1客戶區域管理程序設計42921.9.2客戶級別管理程序設計43421.9.3客戶基礎信息管理程序設計43721.9.4客戶信息呼叫管理程序設計44321.9.5客戶反饋查詢管理程序設計44821.10疑難問題分析解決45121.10.1如何將TDBGrid中的內容居中顯示45121.10.2如何更改滑鼠指針形狀45221.10.3如何在控制項失去焦點時進行內容檢查45221.10.4如何防止向數據表中插入重復數據45221.10.5在表格中輸入商品數量,如何自動計算金額45321.10.6利用掩碼編輯控制項格式化字元串45321.11程序調試及錯誤處理45421.12程序設計清單45721.13技術、經驗總結45721.13.1技術總結45721.13.2經驗總結458第22章Delphi在固定資產中的應用45922.1固定資產管理系統概述45922.1.1開發背景及意義45922.1.2系統目標45922.2系統分析46022.2.1系統規劃46022.2.2系統流程圖46022.2.3業務流程46122.3資料庫設計46122.3.1資料庫概念設計46122.3.2資料庫邏輯結構設計46122.3.3數據字典46222.4處理過程分析46322.4.1添加固定資產處理過程分析46322.4.2計提折舊處理過程分析46322.5主窗體設計46322.6圖像列表設計46422.7數據模塊設計46522.8程序設計與編碼46622.8.1資產類別程序設計46622.8.2添加固定資產程序設計46722.8.3修改固定資產程序設計47122.8.4計提折舊程序設計47422.8.5數據備份程序設計47822.8.6系統初始化程序設計47922.9疑難問題分析解決48022.9.1如何創建存儲過程48022.9.2數據還原的實現48122.9.3查看SQL Server的備份文件48122.9.4利用循環語句清空界面數據48222.9.5固定資產基本概念48222.9.6固定資產計算公式48322.10程序測試48322.11程序設計清單48422.12技術、經驗總結48522.12.1技術總結48522.12.2經驗總結48622.13系統的編譯與發行486第23章Delphi在財務憑證管理系統中的應用487
『叄』 Delphi資料庫編程問題
我也是初學者,我就看問題1那個,我是想說你插入數據之後,想要查看查看新插入的數據才會執行下面的查詢的,我沒試過你的代碼,我覺得你分開來試試,先插入數據試試可以嗎,如果有問題,說明插入有問題,如果ok的,那就接著做查詢了,我看來你的思路是對的,但是語句寫的有問題。期待高手給你指出,我也是初學。
『肆』 DELPHI修改和刪除資料庫的數據的示例代碼
修改
Table1.Edit;
Table1.FieldValues ['xxxxxxxx']:=edit1.Text;
Table1.Post;
刪除
Table1.Delete;
刪除ID為1的數據有兩種方法:
1、遍歷數據集,取ID值,如果等於1刪除
while not table1.eof
begin
if table1.fieldbyname('id').value = 1 then
table1.delete;
table1.next;
end;
2、通過SQL語句來執行這個操作
query1.sql.text := 'delete from 表 where id = 1';
query1.execsql;
『伍』 請提供一個簡單的DELPHI查詢資料庫的實例,包括所有操作
1、在窗體上放一個adoquery(adoquery1),datasource(默認為datasource1);
2、在窗體上放一個adoconnection1,也可以不放;
3、設置adoconnection1的connetionstring,提供程序選擇「"或者「OracleProviderforOLEDB",下一步,在伺服器名稱中輸入你的oracleSID(需事選配置SID)或者直接輸入SID配置信息。用戶名稱都是TEST.
3、設置Adoquery1的connetion屬性為adoconnection1,如果沒用adoconnetion,也可以設置adoquery1的connetionstring屬性(具體操作和adoconnection1一樣),設置Datasource1的DataSet屬性為Adoquery1,設置dbgrid(不是GBDRID)的datasource屬性為datasource1;
4、雙擊button1,寫代碼
Adoquery1.Close;
ADOQuery1.SQL.Text:='select*fromBIAOwhereA='+quotedstr(Trim(Edit1.text));
Adoquery1.Open;
『陸』 Delphi 資料庫編程
Delphi + SqlServer
1.將Ado選項卡中的Adoconnection 和 AdoQuery拖入頁面中,將DataAccess中的Datasource拖入頁面。
2.雙擊Adoconnection,點擊「build」,點擊「提供程序」,選擇「Microsoft ole db provider for SQL Server」,點擊「下一步」,輸入資料庫的用戶名和密碼,選中「允許保存密碼」,然後選擇資料庫,點擊「測試鏈接」,成功後點擊確定,然後點擊OK。
將Adoconnection的LoginPrompt屬性設置為False.
3.設置AdoQuery的Connection屬性為Adoconnection(下拉選擇),將Datasource的DataSet屬性設置為AdoQuery(下拉選擇)。
4.在Dbgrid中設置Datasource屬性為Datasource(下拉選擇)。
5.AdoQuery.Close;
AdoQuery.SQL.Clear;
AdoQuery.SQL.Add('select * from table');
AdoQuery.Open;
『柒』 delphi資料庫編程,ADO+SQL,高手進!
用SQL 讀出需要的數據,顯示到LISTVIEW 或者別的組件,再用SQL寫入數據,這樣會讓你的小程序靈活的多.不必去用資料庫組件.
『捌』 delphi SQL查詢並顯示
DBGrid組件是用來顯示數據表的。
Delphi資料庫處理
第一節 BDE、ADO、InterBase和dbExpress
Delphi中處理資料庫主要有兩種方法,也就是BDE、ADO,從Delphi
6.0開始還加入了一種dbExpress方法。 另外,Delphi還提供了專門處
理Borland 公司自己的資料庫產品InterBase 資料庫的專門的方法。
BDE(Borland Databas Engine), 是Delphi中最古老的技術,從
delphi 2.0加入BDE 技術以後,一直是Delphi處理資料庫的事實上的標
准。BDE 是一個基於驅動程序的體系結構,每一種數據格式或數據源都
有一種驅動程序來驅動相近的數據源。BDE 可以很好的支持現在最流行
的ODBC API方法,
ODBC是一種C/C++ 應用程序編程介面(API ),無論是對任何一種
客戶/ 伺服器關系型資料庫管理系統(RDBMS ),還是最流行索引順序
訪問方法(ISAM)資料庫(Jet、Foxpro), 都能很好的訪問。
同時,由於BDE 的驅動程序主要直接來自於第三方開發商,所以,
對於像Oracle這些非微軟的資料庫,執行效率上比較高。正是這些特點,
使BDE 技術還是得到了很多資料庫開發程序員的歡迎。
ADO 技術是微軟提出來的處理關系型資料庫和非關系型資料庫的新
技術,它基於微軟被稱為OLE DB的數據訪問模式,它是專門為了給大范
圍商業數據源提供訪問而設計的,包括傳統的關系型數據表、電子郵件
系統、圖形格式、Internet資源等。ADO 所需內存更少,更適合大流量
和大事務量的網路計算機系統。
ADO 頂層有三個對象:Connection、Command、Recordset。
Connection用以指定數據源,建立和數據源的連接。
Command 對象用以對數劇源執行指定的命令,可以接受SQL 語句,
表和存儲過程的名稱,執行SQL 查詢,更新數據,插入紀錄等。
Recordset 對象表示的是來自表或命令執行結果的記錄全集,操縱
來自提供者的幾乎所有數據。
由於ADO 技術的迅速普及,從Delphi 5.0 開始,加入了ADO 技術
的模塊,並逐步成為Delphi資料庫設計的主流。但是,和VB的ADODC 相
比,它還是有所不同的,在數據綁定上,它更多的吸收了BDE 的特點,
以做到和原來的程序兼容,同時,它又可以接受標准ADO 技術的各種屬
性和方法,在接受這些屬性和方法時,它是和數據綁定控制項脫離的,當
然從某種意義上來說,這種方案提高了執行效率,給設計人員以更多的
選擇。
dbExpress 是Delphi 6.0加入的最新的資料庫模塊,它不使用緩存,
可以快速瀏覽大量的數據,但是,不使用緩存就不能更改,所以它的標
准方式是只讀的。它一個重要的特點是交叉平台,可以和Linux 資料庫
連接,速度相當快。
下面的討論,將以ADO 技術為主線,最後再說明BDE 和dbExpress
的應用方式。
第二節 ADO 面板的主要組件
ADO 面板一共有7 個組件:
ADOConnection: 主要用於建立資料庫的連接;
ADOdataSet:ADO 提取和操作資料庫的主要數據集,可以直接連接
到資料庫,也可以通過 ADOConnection連接到資料庫。
ADOtable:主要用以操作和提取單個基表的數據,可以直接連接到
資料庫,也可以通過 ADOConnection連接到資料庫。
ADOquery:通過SQL 語言提取數據,其連接資料庫的方式和前兩種
一樣。
ADOStoredProc: 這個組件專門用於運行資料庫中的存儲過程。
ADOCommand:該組件用於運行一些SQL 命令,這個組件可以和支持
數據集的組件一起使用,也可以直接從一個基表中提取一個數據集。
RDSConnection: 一個進程或一台計算機傳遞到另一個進程或計算
機的數據集合。
為了連接數據綁定控制項,上述組件往往要和處於Data Access 中的
Datasource配合使用。
可以看出,和VB的ADODC 不同的,Delphi中解決同一個問題提供了
多種方案,看起來似乎增加了麻煩,但是卻可以給程序員更大的自由空
間,便於設計出高效率的資料庫程序來。
下面通過幾個例子來說明ADO 控制項的用法。
第三節 ADOtable組件
ADOtable、ADOdataSet、ADOquery和ADOStoredProc都繼承了同一
個父類TCustomADODataSet,所以,在屬性事件和方法上有很多相似的
地方,但它主要是針對資料庫中的表進行操作。
ADO -〉ADOtable
屬性:
Name='控制項名'
ConnectionString='連接字元串'
可以通過點擊右邊的按鈕,通過向導建立數據源。有時候需要
知道相對路徑,可以用下面的方法找到程序當前的路徑:
tpath:=ExtractFilepath(Application.Exename);
文件名:=Tpath+'..\data\Test.mdb'
表明資料庫在當前程序上一層的Data文件夾下。
TableName='表名'
Active=true
這就激活了數據源,為了和綁定控制項聯系,要增加一個DadaSource
控制項。事實上,所有的綁定控制項都是和DadaSource聯系。
Data Access-〉DadaSource
屬性:
Dataset=ADOtable.Name
加入綁定控制項:
Data Controls-〉
DBgrid(表格)
屬性
DadaSource='DadaSource.Name'
DBNavigator(導航條)
屬性
DadaSource='DadaSource.Name'
運行一下可以看出關系
下面介紹一下ADOtable的一些重要的方法,這些方法大部分和Table
是兼容的。
為了便於敘述,ADOtable控制項的Name定為 ADOtable1
1)移動指針
第一個: ADotable1.First;
最後一個: ADotable1.Last;
下一個: ADotable1.Next;
前一個: ADotable1.Prior;
2)從欄位中取出數據
通過如下方法可以訪問欄位的值
ADOtable1.FieldValues['欄位名']
ADOtable1.Field[索引值]
在讀寫欄位的時候,又是根據需要可以加上強制類型轉換
例如:
Edit1.text:=ADOtable1.Field[0].AsString;
用下面的方法可以去除欄位的性質:
ADOtable1.fielddefs[索引值].name; 欄位名
ADOtable1.fielddefs[索引值].Size; 欄位大小
ADOtable1.fielddefs[索引值].Datatype; 欄位屬性
3)修改數據:
修改數據的時候,需要先建立EDIT方法,然後用Post方法才能真
正的寫入。
ADOtable1.edit;
ADOtable1.FieldValues['姓名']:='王秀琴';
ADOtable1.post;
4)增加一條空紀錄: ADOtable1.append;
新增紀錄也可以用如下方法,在新增紀錄的同時輸入數據
ADOtable1.appendRecord(xxx,xxx,xxx,....);
5)刪除當前紀錄:ADOtable1.delete;
如果在ADOtable1的OnBeforeDelete方法中寫下:
if messagedlg('確實要刪除嗎?',mtinformation,[mbyes,mbno],
0)=mrno then abort();
可以實現刪除前的提示。
6)過濾
可以用如下的方法實現數據的過濾
在ADOtable1的OnFilterRecord方法中寫下:
Accept:=(條件);
然後
ADOtable1.filtered:=true; 為實現過濾。
ADOtable1.filtered:=false; 為解除過濾。
7)指針在文件的頭尾
指針在最後一條記錄之後 ADOtable1.Eof
指針在第一條記錄之前 ADOtable1.Bof
如此可以實現對資料庫的遍歷
form1.ADOtable1.first;
while not form1.ADOtable1.eof do
Begin
.......
form1.ADOtable1.next;
End;
8)此外, ADOtable組件還繼承了ADO 中的RecordSet對象幾乎
全部屬性和方法,簡述如下:
with adoTable1.Recordset do
begin
//屬性
PageSize 一頁所包含的記錄數
PageCount 數據的頁數
AbsolutePage; 當前記錄所在頁
AbsolutePosition; 當前記錄的序號位置
BOF; 指針在第一個記錄之前
EOF; 指針在最後一個記錄之後
//方法
AddNew fieldList,Values; 創建新記錄,其中fieldList為用數
組表示的欄位名集,Values為用數組表
示的數據集。
Cancel; 取消上一步所作的修改
Update Fields,Values; 保存對當前記錄所作的修改
Delete; 刪除當前記錄
Move(n); 移動n 條記錄
MoveFirst; 移動到第一條紀錄
MoveLast; 移動到最後一條紀錄
MoveNext 移動到下一條紀錄
MovePrevious 移動到上一條紀錄
Requery; 通過從新執行對象所基於的查詢,以
更新RecordSet 對象中的數據。
end;
使用Recordset 對象來處理數據集的數據,會發現數據幫定控制項的指
針一般不會跟著移動,這實際上給設計者提供了另一個在後台快速處理數
據的方法。
附錄:關於TActionList控制項的使用
在Standard面板,提供了一個TActionList 控制項,它集中了大部分按
鈕的使用方法,可以簡化按鈕的設計。
方法:
調入TActionList,雙擊,可以看到一個面板,右鍵 -〉New Standard
Action 選擇 Datasat下的適當的控制,可以選擇多個。
以後加入的開關,只要在屬性Action 中選擇適當的項目就可以了,不
需要專門編程,實例見「ActionList應用」。
第四節 ADOQuery組件
和ADOtable組件一樣,ADOquery繼承了同一個父類TCustomADODataSet,
所以,上面說到的ADOtable屬性事件和方法基本上是通用的,但它主要是
針對資料庫中的SQL 命令進行操作。
下面主要說一下ADOquery特殊的地方。
1)SQL 屬性
SQL 是TStrings類型的屬性,包含了ADOquery組件要執行的SQL 命令,
是ADOquery最為重要的屬性之一。
在應用程序中,需要調用Open方法或者ExecSQL 方法來執行在SQL 中
的命令。在設計階段,可以利用屬性編輯起來編寫。
例如:
Width ADOquery do
Begin
//重新寫入時,要關閉原來的查詢
Close;
width SQL do
Begin
//因為Add是在原來的基礎上加入,所以先清除原來的SQL命令
Clear;
Add('selsct 編號,姓名,獎金')
Add('From 獎金錶')
End;
//執行SQL 命令
Open;
End;
查詢命令也可以這樣來寫:
s1:='編號';
s2:='姓名';
s3:='金額';
with ADOquery1 do
begin
sql.Clear;
SQL.Add('select ');
SQL.Add(s1+','+s2+','+s3);
SQL.Add(' From 獎金 ');
execsql;
active:=true;
end;
效果是一樣的。
第五節 ADOConnection 和 ADODataSet
雖然ADOTable和ADOQuery組件可以非常簡單的連接資料庫,但是當需
要更加精細的控制資料庫的時候,往往需要應用ADO 更多的方法,我們知
道,支撐ADO 的主要由Connection,Command,Recordsrt三個對象組成,
對應的就有ADOConnection和ADOCommand控制項,而Recordsrt對象屬性和方
法,封裝在ADODataSet中,同時ADODataSet本身,也具備和ADOtable組件
相同的對數據綁定控制項控值的屬性和方法。
這就大大提高了對資料庫的控制能力。
在ADO 頂層有三個對象中Connection處在最頂層,用以指定數據源,
建立和數據源的連接。所以,ADOConnection必須和其它的數據控制項連接
才有效,最常用的就是和ADODataSet配合。
下面首先介紹連接方法,然後再討論其它的問題
1)ADOConnection的加入和連接
加入ADOConnection
屬性:ConnectionString='連接字元串'
加入ADODataSat
屬性:Connection='ADOConnection1' ..... (ADOConnection,Name)
CommandType=cmdtable ...使用表連接
CommandText 根據上面的選擇,或選擇表,或出現SQL 編輯框。
Active=True 激活。
加入DataSource
屬性:Dataset=ADODataSat 完成連接,再連接數據綁定控制項。
2)ADOConnection的重要屬性和方法
屬性:
a).Attributes
設置連接的資料庫自動處理事務的能力
xCommitRetaining:提交一個事務後自動開始一個新事務
xAbortRetaining :回退一個事務的同時開始一個新事務
b).Connected
標識和資料庫的連接受否處於激活(True)
方法:
c).Open(UserID,PassWord)
打開一個連接(可以提供用戶名和密碼)
d).Cancel
關閉資料庫的連接
e).Close
釋放所有的系統關聯資源
f).Execute 執行一個SQL 命令。
完整的表述是
Execute(SQL命令,該命令設計的記錄數目,Option)
其中,Option的值如下
eoAsyncExecute 非同步執行指定的命令
eoAsyncFetch 給定Cache屬性的值後,再非同步的取得數據
eoAsyncFetchNonBlocking 非阻塞式線程執行
eoExecuteNoRecords 沒有返回紀錄
g).GetProcereNames(List:Tstring);
獲取資料庫伺服器上的存儲過程名稱,過程名保留在List參
數中。
f).GetTableNames(List:Tstring;SystemTables:Boolean=False)
獲取資料庫的數據表,表名存放在List參數中,SystemTables
指示是否獲取資料庫系統表的名稱,系統表是關於資料庫類型定義
和用戶信息的數據表,是資料庫本身自動產生的。在特殊的設計中,
這個表格可能會有用。
3)ADODataSet的屬性和方法
我們在ADOTable中討論的屬性和方法,幾乎都可以在ADODataSet中得
到應用,但還有幾個特殊的屬性:
CommandType
主要用於控制CommandText屬性的狀態,其中:
cmdtable ...CommandText使用「表名」連接
(內部是做了SQL 對各列的查詢);
cmdTableDirect ...CommandText使用「表名」連接
(內部不做SQL ,而是真正的表名連接);
cmdtext ....使用SQL命令文本;
cmdfile ....CommandType屬性值作為持久的文件名;
cmdStoredProc...CommandType屬性值作為存儲過程名稱
來計算;
cmdUnKnown ....不知道(默認為SQL)
CommandText
根據CommandType的設置,向提供者發出「表名」或SQL 命令。
『玖』 如何在Delphi中開發資料庫程序
打開:控制面板中\ODBC數據源\User
DSN\MS
ACCESS
DATABASE,點擊"Configure...",在ODBC
Microsoft
Access
Setup中點擊"Select..."選中你的Access庫,點擊「OK」回到ODBC
Microsoft
Access
Setup,點擊"Advanced..."設你的用戶名和暗碼,依次點擊「OK」「肯定」退出ODBC;進入DELPHI,把你的Table1的DatsbaseName屬性設為MS
Access
Database,再將Table1的Active屬性設為"True",在DBGrid1中就可在設計時看見你的數據了。當然,這是最簡單的一個例子。OK?!
『拾』 怎麼用delphi7 編寫資料庫程序
在delphi中有一批資料庫專用的控制項,比如ADO類的,可以直接用於資料庫開發,你可以先用一個Access資料庫自己進行一下測試。
首先在窗體上放一個ADOConnection1控制,用於與Access資料庫進行連接,連接字元串為:
ADOConnection1.ADOC_Data.ConnectionString:='provider=Microsoft.Jet.OLEDB.4.0;'
+'user ID=Admin;'
//+'Data Source='+ExtractFilePath(Application.ExeName)+'MyRecord.mdb;'
+'Data Source='+MyDataBaseName+';'
+'Mode=Share Deny None;Extended Properties="";'
+'Jet OLEDB:System database="";'
+'Jet OLEDB:Registry Path="";'
+'Jet OLEDB:Database Password="123456;' //資料庫密碼
+'Jet OLEDB:Engine Type=5;'
+'Jet OLEDB:Database Locking Mode=1;'
+'Jet OLEDB:Global Partial Bulk Ops=2;'
+'Jet OLEDB:Global Bulk Transactions=1;'
+'Jet OLEDB:New Database Password="";'
+'Jet OLEDB:Create System Database=False;'
+'Jet OLEDB:Encrypt Database=False;'
+'Jet OLEDB:Don'+''''+'t Copy Locale on Compact=False;'
+'Jet OLEDB:Compact Without Replica Repair=False;'
+'Jet OLEDB:SFP=False';
DM.ADOC_Data.LoginPrompt:=False;
再放一個ADOQuery1控制,用於操作數據表,將它的Connection屬性設置為ADOConnection1。或用語句實現:ADOQuery1.Connection:=ADOConnection1;
然後再分別放置一個DataSource1和一個DBGrid1控制項,
將DataSource1的DataSet屬性設置為ADOQuery1。
將DBGrid1的DataSource屬性設置為DataSource1。
這時就可以通過ADOQuery1來執行SQL語句來查詢數據表,並通過DBGrid1顯示出來了。