軟件工程課件:數據庫編程_第1頁
軟件工程課件:數據庫編程_第2頁
軟件工程課件:數據庫編程_第3頁
軟件工程課件:數據庫編程_第4頁
軟件工程課件:數據庫編程_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

數據庫編程主要內容1、數據庫基礎2、數據訪問技術3、ADO.net數據訪問模型1、數據庫基礎數據庫(DB)存放數據的倉庫,但這些數據之間有一定的關聯,并按照一定的格式存放。數據包括數字、文本、圖像、音頻和視頻等。數據庫管理系統(tǒng)(DBMS)是管理數據庫的系統(tǒng),具備以下功能:數據定義,數據操作,如對數據表的插入、刪除、修改、查詢等數據完整性檢查,保證輸入的數據滿足相應約束條件數據庫的安全保護,只有授權用戶才能訪問數據庫的并發(fā)控制,多個程序可同時訪問數據數據庫的故障恢復,網絡訪問,簡單的存取數據庫信息的接口和工具等。數據庫系統(tǒng)由數據、數據庫、數據庫管理系統(tǒng)、操作數據庫的應用程序,加上支撐的硬件平臺、軟件平臺以及與數據庫有關的人員共同組成。數據庫的組織結構數據庫

記錄

字段數據庫表間的關聯關系表之間的關聯是現實生活中事物之間關聯關系的模擬。主鍵外鍵在實際的數據庫設計中,經常使用“自增字段”來作為表的主鍵。1、數據庫基礎創(chuàng)建數據庫和表CreatedatabaseXSCJcreatetable<表名>(<列名><數據類型>[列級完整性約束條件]

[,<列名><數據類型>[列級完整性約束條件]

.........

[,<表級完整性約束條件>]);createtableXSB什么是SQLSQL(StructuredQueryLanguage,結構化查詢語言),使用它來從數據庫中提取并操作各種數據。7SQL命令的分類SQL命令可以分成以下三類:DML(DataManipulationLanguage,數據操作語言):用于檢索或修改數據。DDL(DataDefinitionLanguage,數據定義語言):用于定義數據的結構,例如,創(chuàng)建、修改或刪除數據庫對象。DCL(DataControlLanguage,數據控制語言):用于定義數據庫用戶的權限。8常用的SQL命令Select:選擇數據Insert:插入數據Update:更新數據Delete:刪除數據9數據操作createtableXSB(XH char(6) NOTNULLPRIMARYKEY,XM char(8) NOTNULL,XB bit NULLDEFAULT1,CSSJ date NULL,ZY char(12) NULL,ZXF int NULL,BZ varchar(500)NOTNULL,)數據操作插入數據INSERTINTO<表名>[(<列名1>,<列名2>,<列名3>…)] VALUES(<列名1>,<列名2>,<列名3>…)實例:INSERTINTOXSB(XH,XM,XB,CSSJ,ZY,ZXF)VALUES(‘081101’,’王琳琳’,1,’1990-02-10’,’計算機’,50)或者:INSERTINTOXSBVALUES(‘081101’,’王琳琳’,1,’1990-02-10’,’計算機’,50,NULL)數據操作修改數據UPDATE<表名>SET<列名1>=<新值1>[,<列名2>=<新值2>[…n]] [WHERE<條件>]實例:UPDATEXSB SETBZ=‘三好生’ WHEREXH=‘081101’UPDATEXSBSET總學分=總學分+10數據操作刪除數據DELETE[FROM]<表名> [WHERE<條件>]實例:DELETEFROMXSBWHEREZXF>52將xsb表中總學分大于52分的行刪除。數據操作查詢數據SELECT[ALL|DISTINCT]<列名> [FROM<表名>] [WHERE<條件>]實例:SELECTXM,XH,ZXF FROMXSB WHEREXH=‘081101’SELECT*FROMXSB WHEREZY=‘管理與信息系統(tǒng)’ANDZXF>=422、數據訪問技術ASP.NET使用兩種方法實現數據的訪問一是使用數據源控件和數據綁定控件來訪問數據源。二是使用ADO.NET(即system.data命名空間)和System.xml命名空間中的類此外還可使用語言集成查詢LINQ,利用LinqDataSource和ListView控件。2.1數據源控件數據源控件能向頁面上的數據綁定控件提供來自不同數據源的數據,并提供排序、分頁、緩存、更新、插入和刪除數據等功能。數據源控件都派生于DataSourceControl類,具有統(tǒng)一的基本編程模型和API,共享一組基本的核心功能。只用來表示特定的后端數據存儲,沒外在表現形式,運行時不可見,需要與數據綁定控件配合使用。若數據存儲在SQLServer、SQLServerExpress、ODBC數據源、OLEDB數據源、Oracle數據庫中時,使用SqlDataSource控件。參見ASP.NET包含的數據源控件.txt常用的數據源控件SqlDataSource可以連接到ADO.NET支持的任何SQL數據庫AccessDataSource連接到使用MicrosoftOffice創(chuàng)建的Access數據庫ObjectDataSource連接到應用程序的Bin或

App_Code

目錄中的中間層業(yè)務對象或數據集XmlDataSource連接到XML文件SitemapDataSource連接到此應用程序的站點導航樹(要求應用程序根目錄處有一個有效的站點地圖文件,默認的文件名為“Web.sitemap”),站點地圖文件其實也是一個XML文件LINQDataSource.NET3.0新增,可以訪問各種類型的數據,包括數據庫和XML文件。與C#/VB.NET等.NET語言直接集成17SqlDataSource控件將SqlDataSource控件與數據綁定控件集成,為SqlDataSource控件設置數據庫連接字符串、SQL語句或者存儲過程名。當應用程序運行時,SqlDataSource控件會根據設置的參數自動連接數據源,并且執(zhí)行SQL語句或者存儲過程,然后返回結果記錄集,最后關閉數據庫。這些過程不需編碼,只要設置控件屬性即可。一個實例<asp:SqlDataSourceID="SqlDataSource1"runat="server"ConnectionString="<%$ConnectionStrings:NORTHWINDConnectionString%>"SelectCommand="SELECT[RegionID],[RegionDescription]FROM[Region]"OnSelected="SqlDataSource1_Selected"></asp:SqlDataSource>與之共同使用的數據綁定控件示例:<asp:RadioButtonListID="RadioButtonList1"runat="server"DataSourceID="SqlDataSource1"DataTextField="RegionDescription"DataValueField="RegionID"RepeatDirection="Horizontal"BorderWidth="2px"BorderColor="Gray"></asp:RadioButtonList></div>Web.config文件中的創(chuàng)建<connectionStrings><addname="NORTHWINDConnectionString1" connectionString="DataSource=.\SQLEXPRESS; AttachDbFilename=|DataDirectory|\NORTHWIND.MDF; IntegratedSecurity=True;ConnectTimeout=30;UserInstance=True"providerName="System.Data.SqlClient"/></connectionStrings>使用參數的一個實例<asp:SqlDataSourceID="SqlDataSource1"runat="server"

ConnectionString="<%$ConnectionStrings:NORTHWINDConnectionString%>"

SelectCommand=“SELECT*FROM[Customers]WHERE([CustomersID]=@CustomersID

)"<SelectParameters>

<asp:QueryStringParameterName=“CustomerID”

QueryStringField=“ID”Type=“String”></asp:QueryStringParameter></SelectParameters></asp:SqlDataSource>SqlDataSource控件屬性、方法和事件屬性很多,重要的有DataSourceMode、SelectParameters和ConflictDetection方法可在程序中調用,完成標準數據操作,如在按鈕單擊事件處理程序中執(zhí)行Delete方法,實現刪除記錄的操作。IntDelete()、IntInsert()、IntUpdate()、IntIenumerableSelect()SqlDataSource控件屬性、方法和事件主要事件有8個,在執(zhí)行Select、Insert、Update和Delete命令的前后觸發(fā),使用這些事件可以改變控件發(fā)送給數據源的SQL命令。也可在執(zhí)行SQL命令時,取消操作或確定是否發(fā)生了錯誤。Selected和SelectingInserted和InsertingUpdated和UpdatingDeleted和Deleting典型應用(參見實例)使用SqlDataSource控件連接數據庫利用帶參數的Select語句直接查詢并篩選數據在數據源的查詢結果中過濾數據參見8.1、8.2、8.3實例使用SqlDataSource控件連接數據庫利用帶參數的Select語句直接查詢并篩選數據本例涉及的Employees表的部分記錄如下:利用帶參數的Select語句直接查詢并篩選數據代碼中實現數據篩選的核心來自于帶參數的SQL語句,篩選是通過數據源來完成的。當選擇不同的身份時,自動篩選出相應的雇員名。在數據源的查詢結果中過濾數據本例的過濾是通過數據源控件來完成的,不是由數據源本身實現。當選擇不同的身份時,將自動篩選出相應的雇員名。2.2數據綁定控件主要用來在頁面顯示數據??梢杂帽砀?、報表、單選項、多選項和樹形方式顯示。常用的有:GridView、ListView、DetailsView、FormView等。以GridView為例,在不編寫代碼情況下,實現對數據的排序、分頁和編輯操作。數據綁定的層次結構31數據庫ADO.NET數據綁定控件數據源控件提供顯示和編輯數據的可視化界面IDataSourceDataSourceView提供對數據的訪問接口:增、刪、改、查與數據庫交互,完成信息的增、刪、改、查工作。信息的存放地調用存取常用的數據綁定控件控件名稱說明GridView以表格的方式顯示和編輯數據DetailsView一次顯示、編輯、插入或刪除一條記錄。默認情況下,DetailsView

控件將記錄的每個字段顯示在它自己的一行內FormViewFormView控件與DetailsView控件相似,一次也只能顯示或編輯一條記錄。FormView需要給其設定一個模板DataList控件可以用某種用戶指定的格式來顯示數據(比如分列顯示),這種格式由模板和樣式進行定義RepeaterRepeater控件沒有包含內置的布局或樣式,需要由Web開發(fā)者指定所有的用于顯示數據的內部控件和顯示樣式ListViewASP.NET3.5新增,以嵌套容器模板和占位符的方式提供靈活的數據顯示模式32GridView控件是以表格的形式顯示數據,通過對其屬性進行設置,可以實現數據的分頁、排序和編輯功能。建立一個網頁,放入一個SqlDataSource控件和一個GridView控件。為數據源控件配置數據表。將綁定控件與數據源控件綁定。參見實例8-93、ADO.NET數據訪問編程模型ADO.NET是.NETFramework的核心構件,為上層的各種應用程序提供數據存儲服務。ADO.NET是在微軟的.net中創(chuàng)建分布式和數據共享應用程序的應用程序開發(fā)接口(API)ADO.NET是一組數據處理的類。通過數據提供程序和數據集這兩個核心組件,提供一個統(tǒng)一的數據訪問模型,提供了各種對數據庫數據的存取功能。支持在線和離線的數據訪問。微軟數據存取技術的歷史發(fā)展ODBC:訪問關系型數據庫DAO與RDO:主要為VB早期版本設計的,可以方便地訪問Access和SQLServerADO與OLEDBObjectLinkingandEmbedding,Database,:隨著VisualStudio6一同發(fā)布,是Win32時代用得最廣泛的數據存取引擎。ADO.NET:.NET時代主流數據存取引擎LINQ:.NET3.0后引入,將數據存取訪問功能集成到編程語言中36ADO.net對象模型務必記住以下對象模型與數據庫構成元素的對應關系。不同的數據訪問方式區(qū)別數據訪問應用程序可以在連接環(huán)境或非連接環(huán)境下進行。連接環(huán)境是指應用程序始終與數據源保持連接,直到程序結束。這種方式實時性好,但伸縮性差;離線環(huán)境是指應用程序不是始終與數據源保持連接,中央數據存儲的一部分可以被獨立地復制與更改,在需要時可以與數據源中的數據合并,這種方式不獨占連接,可伸縮性好,但實時性差。離線環(huán)境中使用ADO.NET聲明連接對象Connection聲明數據適配器DataAdapter對象聲明DataSet對象打開連接,連接到數據源調用DataAdapter對象的Fill方法填充DataSet對象關閉連接對象Connection,斷開與數據源的連接處理離線數據DataSetADO.NET應用程序DataSetDataAdapterConnectionDB連接環(huán)境中使用ADO.NET聲明連接對象Connection聲明查詢數據庫的Command對象,用來執(zhí)行SQL查詢;聲明DataReader對象打開連接,連接到數據源調用Command對象的ExecuteReader方法,將結果返回給DataReader對象處理DataReader獲得的在線數據。關閉DataReader對象關閉連接對象Connection,斷開與數據源的連接。ADO.NET應用程序DataReaderCommandConnectionDB數據提供程序數據提供程序是.netFramework內置的,一系列API的集合,主要有四個,(1)Connection,建立與數據源的連接。(2)Command,是對數據源操作命令的封裝。(3)DataReader,用來實現對特定數據源中的數據進行高速、只讀、只向前的數據訪問。(4)DataAdapter,用來將從數據源中檢索出的數據送往數據集DataSet。數據提供程序的核心對象(1)Connection,建立與數據源的連接。SqlConnectionconn=newSqlConnection();Conn.ConnectionString=“DataSource=MySqlServer;Userid=sa;password=123456;InitialCatalog=Northwind;IntegratedSecurity=False”;常用的方法:Open();Close();ChangeDatabase();CreateCommand();Dispose()數據提供程序的核心對象(2)Command,是對數據源操作命令的封裝。Stringsql=“SELECT*FROMXSB”;SqlCommandcommand1=NewSqlCommand(sql,sqlConnection)針對不同數據源,有不同的對象:OleDbCommand、SqlCommand、OdbcCommand、OracleCommand數據提供程序的核心對象(3)DataReader,用來實現對特定數據源中的數據進行高速、只讀、只向前的數據訪問。必須在持續(xù)連接狀態(tài)下工作。必須在創(chuàng)建Command對象的實例后,通過調用其ExecuteReader方法創(chuàng)建DataReader。DataReader

溫馨提示

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

評論

0/150

提交評論