![第7章 數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)_第1頁](http://file4.renrendoc.com/view/c56cafb169b1c3f9d848ff43b6202d55/c56cafb169b1c3f9d848ff43b6202d551.gif)
![第7章 數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)_第2頁](http://file4.renrendoc.com/view/c56cafb169b1c3f9d848ff43b6202d55/c56cafb169b1c3f9d848ff43b6202d552.gif)
![第7章 數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)_第3頁](http://file4.renrendoc.com/view/c56cafb169b1c3f9d848ff43b6202d55/c56cafb169b1c3f9d848ff43b6202d553.gif)
![第7章 數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)_第4頁](http://file4.renrendoc.com/view/c56cafb169b1c3f9d848ff43b6202d55/c56cafb169b1c3f9d848ff43b6202d554.gif)
![第7章 數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)_第5頁](http://file4.renrendoc.com/view/c56cafb169b1c3f9d848ff43b6202d55/c56cafb169b1c3f9d848ff43b6202d555.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第7章數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)7.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)步驟7.2數(shù)據(jù)庫應(yīng)用系統(tǒng)的體系結(jié)構(gòu)和開發(fā)工具7.3常用的數(shù)據(jù)庫編程接口7.4數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)案例—學(xué)生成績管理系統(tǒng)7.5VB.NET/C++Console前臺應(yīng)用系統(tǒng)程序的開發(fā)
本章內(nèi)容數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)過程一般包括:1.需求分析2.系統(tǒng)初步設(shè)計(jì)3.系統(tǒng)詳細(xì)設(shè)計(jì)4.編碼、調(diào)試5.系統(tǒng)交付7.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)步驟7.2.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的體系結(jié)構(gòu)1. 單用戶數(shù)據(jù)庫系統(tǒng)2. 主從式多用戶模式數(shù)據(jù)庫系統(tǒng)3. C/S架構(gòu)的數(shù)據(jù)庫系統(tǒng)7.2數(shù)據(jù)庫應(yīng)用系統(tǒng)的體系結(jié)構(gòu)和開發(fā)工具4. B/S架構(gòu)的數(shù)據(jù)庫系統(tǒng)7.2數(shù)據(jù)庫應(yīng)用系統(tǒng)的體系結(jié)構(gòu)和開發(fā)工具7.2.2常用的數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)工具C/S架構(gòu)下常用的開發(fā)工具有:VisualC++,VisualC#,VisualBasic/VisualBasic.Net,Delphi,Java等。B/S架構(gòu)下常用的開發(fā)工具有:ASP,JSP,PHP,VBScript,JavaScript等。7.2數(shù)據(jù)庫應(yīng)用系統(tǒng)的體系結(jié)構(gòu)和開發(fā)工具7.3常用的數(shù)據(jù)庫編程接口API高級語言編程訪問數(shù)據(jù)庫,一般需要各種API(ApplicationProgrammingInterface,應(yīng)用程序編程接口),這些接口也可以稱為中間件。比較常用的接口有ADO、ADO.NET、OLEDB、ODBC、JDBC等,每種編程接口都可訪問不同的數(shù)據(jù)庫,且提供統(tǒng)一的格式和操作方法。在開發(fā)數(shù)據(jù)庫應(yīng)用系統(tǒng)時可根據(jù)不同情況選用不同的編程接口。1. ODBC接口ODBC(OpenDataBaseConnectivity,開放數(shù)據(jù)庫互連)2. OLEDB接口OLE全稱ObjectLinkandEmbed,即對象連接與嵌入3. ADO接口ADO(ActiveXDataObjects,ActiveX數(shù)據(jù)對象)是Microsoft提出的應(yīng)用程序接口(API)用以實(shí)現(xiàn)訪問關(guān)系或非關(guān)系數(shù)據(jù)庫中的數(shù)據(jù)。4. ADO.NET接口ADO.NET的名稱起源于ADO,是一個COM組件庫,用于在以往的Microsoft技術(shù)中訪問數(shù)據(jù)。之所以使用ADO.NET名稱,是因?yàn)镸icrosoft希望表明,這是在NET編程環(huán)境中優(yōu)先使用的數(shù)據(jù)訪問接口。7.4數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)案例—學(xué)生成績管理系統(tǒng)7.4.1后臺數(shù)據(jù)庫的設(shè)計(jì)主要表:其他編程附加表:學(xué)院系統(tǒng)狀態(tài)教師臨時學(xué)生課程課堂選課成績7.4.2應(yīng)用系統(tǒng)功能規(guī)劃與劃分教務(wù)管理端:1.添加/查詢課程2.設(shè)置選課信息(比如設(shè)置開選時間,截止時間等)3.排課堂4.查看課堂選課情況并確定是否可開設(shè)5.查看成績(以課堂為單位)6.查詢教師/學(xué)生密碼教師端:1.查看自己的課堂和班級2.查看某課堂的學(xué)生名單3.錄入/修改學(xué)生成績4.激活某課堂成績5.修改密碼學(xué)生端:1.查看自己的必修課的課堂情況2.查看選修課堂并選課3.查看自己的選修課的選課情況4.查看課程成績5.修改密碼7.4.3數(shù)據(jù)庫服務(wù)器的配置1. 服務(wù)器配置重新啟動SQLServer服務(wù),即可生效。2.設(shè)置或新建SQLServer登錄名SQLServer可使用已有的登錄名,如使用sa登錄名登錄,則只需更改一些設(shè)置即可;也可以新建一個登錄名。7.5.1ADO.NET的基本操作使用VB.NET開發(fā)數(shù)據(jù)庫系統(tǒng)前臺,一般需要使用編程接口ADO.NET。ADO.NET提供了4個核心對象,它們是:Connection對象Command對象DataAdapter對象DataReader/XmlReader對象通過它們可實(shí)現(xiàn)對數(shù)據(jù)庫的各種操作。7.5VB.NET前臺應(yīng)用系統(tǒng)程序的開發(fā)
名稱功能屬性ConnectionString獲取或設(shè)置用于打開數(shù)據(jù)庫的字符串。方法Open()打開與數(shù)據(jù)庫的連接。Close()關(guān)閉與數(shù)據(jù)庫的連接。Connection對象:用于與指定的數(shù)據(jù)源連接。Connection對象的主要屬性和方法
名稱功能屬性CommandText獲取或設(shè)置對數(shù)據(jù)源執(zhí)行的SQL語句或存儲過程。CommandType獲取或設(shè)置一個值,指示如何解釋CommandText屬性。Connection獲取或設(shè)置Command與數(shù)據(jù)源的Connection對象。方法ExecuteNonQuery()執(zhí)行一個非查詢的命令(如:insert、update、delete以及存儲過程)。ExecuteReader()將CommandText發(fā)送到Connection并生成一個DataReader對象。ExecuteXmlReader()將CommandText發(fā)送到Connection并生成一個XmlReader對象。Command對象:為其他對象的操作提供對數(shù)據(jù)操作命令。Command對象的主要屬性和方法
名稱功能屬性InsertCommandDeleteCommandUpdateCommandSelectCommand指定向DataAdapter提交的各種命令。方法Fill()向數(shù)據(jù)庫提交命令,并將執(zhí)行結(jié)果填充到DataSet中。DataAdapter對象:用從數(shù)據(jù)源中獲取的數(shù)據(jù)向DataSet中填充并解析更新。DataAdapter對象的主要屬性和方法
名稱功能屬性FieldCount獲取當(dāng)前行中的列數(shù)。HasRows獲取一個值,指示DataReader中是包含一行或多行。Item獲取以本機(jī)格式表示的列的值。方法GetName()獲取指定列的名字。Read()使DataReader前進(jìn)到下一跳記錄。Close()關(guān)閉DataReader對象。DataReader/XmlReader對象:以只讀方式讀取數(shù)據(jù)源中的數(shù)據(jù)或與XML格式的數(shù)據(jù)文件交互。DataReader/XmlReader對象的主要屬性和方法ADO.NET的使用方法在VB.NET中使用ADO.NET,其后臺數(shù)據(jù)庫為SQLServer時,首先必須在窗體模塊或通用模塊之外引入相應(yīng)的命名空間,格式為:ImportsSystem.DataImportsSystem.Data.SqlClientADO.NET的使用主要有三個步驟:(1)連接數(shù)據(jù)庫(2)操作數(shù)據(jù)庫數(shù)據(jù)(3)關(guān)閉數(shù)據(jù)庫連接(1)連接數(shù)據(jù)庫ADO.NET與SQLServer數(shù)據(jù)庫的連接需要定義一個SqlConnection的連接對象DimmyConnAsNewSqlConnection或PublicmyConnAsNewSqlConnection設(shè)置連接字符串,格式為:sqlStr="DataSource=localhost或者.或者服務(wù)器的IP地址;InitialCatalog=數(shù)據(jù)庫名;IntegratedSecurity=False;UserID=用戶名;Pwd=密碼"myConn.ConnectionString=sqlStr最后使用連接對象myConn的Open方法即可連接到數(shù)據(jù)庫。如:myConn.Open()(2)操作數(shù)據(jù)庫數(shù)據(jù)①
通過DataSet操作數(shù)據(jù)庫數(shù)據(jù)方法為:定義DataAdapter對象、DataSet對象和Command對象DimmyAdapterAsNewSqlDataAdapterDimmyDataSetAsNewDataSetDimselectCmdAsNewSqlCommand設(shè)計(jì)查詢命令,如:sqlStr="select*from教師"設(shè)置Command對象屬性selectCmd.CommandText=sqlStrselectCmd.Connection=myConn設(shè)置DataAdapter對象屬性myAdapter.SelectCommand=selectCmd執(zhí)行DataAdapter對象并將查詢結(jié)果填充到DataSet中,并命名為"jsb"。myAdapter.Fill(myDataSet,"jsb")②
通過DataReader對象操作只讀數(shù)據(jù)方法為:定義DataReader對象和Command對象DimmyDataReaderAsSqlDataReaderDimselectCmdAsNewSqlCommand設(shè)計(jì)查詢命令,如:sqlStr="select*from教師"設(shè)置Command對象屬性selectCmd.CommandText=sqlStrselectCmd.Connection=myConn運(yùn)行Command對象的ExecuteReader()方法,得到結(jié)果集(在內(nèi)存中)并將myDataReader指向此結(jié)果集。如:myDataReader=selectCmd.ExecuteReader()最后關(guān)閉myDataReadermyDataReader.Close()③
還可直接對數(shù)據(jù)庫進(jìn)行Insert、Update、Delete操作方法為:定義Command對象DimsqlCmdAsNewSqlCommand設(shè)計(jì)Insert、Update、Delete操作命令updateCmd="Update選課成績"updateCmd&="set成績="&cjupdateCmd&="Where學(xué)號='"&xh&"'"updateCmd&="And課堂編號='"&ktbh&"'"設(shè)置Command對象屬性sqlCmd.CommandText=updateCmdsqlCmd.Connection=myConn運(yùn)行Command對象的ExecuteNonQuery()方法,如:sqlCmd.ExecuteNonQuery()(3)關(guān)閉數(shù)據(jù)庫連接關(guān)閉數(shù)據(jù)庫連接可使用連接對象myConn的Close方法。如:myConn.Close()即可關(guān)閉與數(shù)據(jù)庫的連接。7.5.2數(shù)據(jù)庫數(shù)據(jù)與相關(guān)控件的綁定將數(shù)據(jù)庫中的數(shù)據(jù)與某些控件綁定是為了顯示和操作數(shù)據(jù),一般有這么三類控件可用于數(shù)據(jù)的綁定。1.將DataSet中的某個數(shù)據(jù)表整個地綁定到控件上可用控件:DataGridView格式:控件對象名.DataSource=數(shù)據(jù)源控件對象名.DataMember=數(shù)據(jù)成員數(shù)據(jù)源:可以是DataSet、DataView、DataTable。數(shù)據(jù)成員:數(shù)據(jù)表。2.只將數(shù)據(jù)表中某一列綁定到控件上可用控件:ComboBox、ListBox等格式:控件對象名.DataSource=數(shù)據(jù)源控件對象名.DisplayMember=數(shù)據(jù)成員數(shù)據(jù)源:可以是DataSet、DataView、DataTable。數(shù)據(jù)成員:數(shù)據(jù)表中的字段。3.一次只能綁定當(dāng)前記錄的某個字段的值到控件上可用控件:Label、TextBox、Button、CheckBox、RadioButton等格式:控件對象名.DataBindings.Add("屬性","數(shù)據(jù)源","數(shù)據(jù)成員")屬性:制定所要綁定的控件屬性。數(shù)據(jù)源:可以是DataSet、DataView、DataTable。數(shù)據(jù)成員:數(shù)據(jù)表中的字段。37數(shù)據(jù)庫技術(shù)與應(yīng)用ThankYou!7.5.1ADO的基本操作使用C++開發(fā)數(shù)據(jù)庫系統(tǒng)前臺,一般需要使用編程接口ADO或其他編程接口。ADO的對象介紹ADO提供了如下主要對象:Connection對象Command對象Parameter對象RecordSet對象Fields對象Error對象Property對象通過它們可實(shí)現(xiàn)對數(shù)據(jù)庫的各種操作。7.5C++前臺應(yīng)用系統(tǒng)程序的開發(fā)
名稱功能屬性ConnectionString獲取或設(shè)置用于打開數(shù)據(jù)庫的字符串。Mode屬性可以設(shè)置連接的模式。Provider可以指定OLEDB提供者。方法BeginTrans()開始一個處理事務(wù)。CommitTrans()提交一個處理事務(wù)。RollbackTrans()回滾一個處理事務(wù)。Open()打開與數(shù)據(jù)庫的連接。Close()關(guān)閉與數(shù)據(jù)庫的連接。Execute()執(zhí)行一個SQL的命令。Connection對象:用于與指定的數(shù)據(jù)源連接。Connection對象的主要屬性和方法
名稱功能屬性CommandText獲取或設(shè)置對數(shù)據(jù)源執(zhí)行的SQL語句或存儲過程。CommandType指定命令的類型方法CreateParameter()創(chuàng)建SQL命令參數(shù)。Execute()執(zhí)行一個SQL命令。Command對象:為其他對象的操作提供對數(shù)據(jù)操作命令。Command對象的主要屬性和方法
名稱功能屬性Name指定參數(shù)的名稱。Value可以指定參數(shù)的值。方法AppendChunk()將數(shù)據(jù)傳遞到參數(shù)里。Parameter對象:用于指定Command對象中參數(shù)化查詢或者存儲過程的參數(shù)。Parameter對象的主要屬性和方法
名稱功能屬性BOF記錄指針是否在開頭。EOF記錄指針是否在末尾。方法AddNew()在記錄集中添加一條新記錄。Update()將修改的結(jié)果寫回數(shù)據(jù)源。MoveFirst()MoveLast()MoveNext()MovePrevious()Move()移動記錄指針。RecordSet對象:將一個查詢命令的返回結(jié)果存放在RecordSet記錄集中,這個RecordSet記錄集被保存在本地的內(nèi)存之中。RecordSet對象的主要屬性和方法ADO的使用方法ADO操作簡單,最基本的操作流程為:初始化COM庫,引入ADO庫定義文件;用Connection對象連接數(shù)據(jù)庫;利用建立好的連接,通過Connection、Command對象執(zhí)行SQL命令,或利用RecordSet對象獲取結(jié)果記錄集進(jìn)行查詢、處理等;使用完畢后關(guān)閉連接釋放對象。在C++中要使用ADO控件,首先必須引入ADO,在VC++系統(tǒng)目錄中有一個msado15.dll動態(tài)鏈接庫文件,使用#import引入,方法為:#import"C:\ProgramFiles\CommonFiles\System\ado\msado15.dll"\no_namespacerename("EOF","adoEOF")然后在主函數(shù)中初始化COM環(huán)境。CoInitialize(NULL);定義連接對象和記錄集對象并實(shí)例化它們。_ConnectionPtrm_pConnection;_RecordsetPtrm_pRecordset;m_pConnection.CreateInstance(__uuidof(Connection));m_pRecordset.CreateInstance(__uuidof(Recordset));然后就可以對數(shù)據(jù)庫進(jìn)行操作。程序結(jié)束時要釋放COM環(huán)境。方法為:CoUninitialize();對數(shù)據(jù)庫操作一般按這么三步進(jìn)行:連接數(shù)據(jù)庫對數(shù)據(jù)庫進(jìn)行操作數(shù)據(jù)庫處理完畢后要關(guān)閉數(shù)據(jù)庫連接1.連接數(shù)據(jù)庫ADO與SQLServer數(shù)據(jù)庫的連接需要通過_ConnectionPtr定義一個連接的指針對象并實(shí)例化。_ConnectionPtrm_pConnection;m_pConnection.CreateInstance(__uuidof(Connection));定義一個_bstr_t類型的字符串變量并設(shè)置連接字符串:_bstr_tstrConnect="Provider=SQLOLEDB.1;DataSource=localhost或者.或者服務(wù)器的IP地址;InitialCatalog=數(shù)據(jù)庫名;PersistSecurit
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 白酒總代理合同年
- 小學(xué)口算練習(xí)題小數(shù)300道
- 2025年呼和浩特貨運(yùn)從業(yè)考試試題及答案解析
- 2025年吉林市a2貨運(yùn)從業(yè)資格證模擬考試
- 小學(xué)四年級數(shù)學(xué)計(jì)算題大全
- 2022年新課標(biāo)八年級上冊道德與法治《8.2 堅(jiān)持國家利益至上 》聽課評課記錄
- 社區(qū)殘疾人工作計(jì)劃
- 酒店主管年度個人總結(jié)
- 車間生產(chǎn)主管年終總結(jié)
- 電子技術(shù)實(shí)習(xí)生工作總結(jié)
- 小學(xué)一年級數(shù)學(xué)思維訓(xùn)練100題(附答案)
- 蘇教版小學(xué)信息技術(shù)五年級下冊五年級下冊教案全集
- 蘇教版八年級數(shù)學(xué)上冊期末試卷及答案【完美版】
- 法院拍賣議價協(xié)議書
- 新能源充電站運(yùn)營手冊
- 2021年人教版八年級物理上冊期末考試卷(完美版)
- TB 10009-2016 鐵路電力牽引供電設(shè)計(jì)規(guī)范
- 2024年東南亞雞蛋分級包裝設(shè)備市場深度研究及預(yù)測報告
- 2024年蘭州新區(qū)實(shí)正鑫熱電有限公司招聘筆試沖刺題(帶答案解析)
- 血透室護(hù)士長述職
- (正式版)JTT 1218.4-2024 城市軌道交通運(yùn)營設(shè)備維修與更新技術(shù)規(guī)范 第4部分:軌道
評論
0/150
提交評論