最后一項數(shù)據(jù)庫連接2_第1頁
最后一項數(shù)據(jù)庫連接2_第2頁
最后一項數(shù)據(jù)庫連接2_第3頁
最后一項數(shù)據(jù)庫連接2_第4頁
最后一項數(shù)據(jù)庫連接2_第5頁
已閱讀5頁,還剩65頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

數(shù)據(jù)庫

程序設(shè)計2023/2/51學(xué)習(xí)方法1、首先將教材從頭開始認真學(xué)習(xí),學(xué)習(xí)期間多思考,并認真思考課后的練習(xí)題,也可以嘗試做一些小的程序。2、多上機實踐,加強動手能力,鞏固基礎(chǔ)知識。

3、當對基礎(chǔ)內(nèi)容有個基本了解后,可以根據(jù)自己的需要,自己獨立自主開發(fā)一個比較大的程序,如BBS、聊天室、網(wǎng)上商店等。4、經(jīng)歷過前3步后,水平應(yīng)該已經(jīng)達到一定地步。此時如有條件,可以找一些高級教程或網(wǎng)上高級文章看一看,檢查自己還有什么不會的。2023/2/52第十章數(shù)據(jù)庫程序設(shè)計1、Web應(yīng)用程序概述2、Web應(yīng)用程序的設(shè)計3、數(shù)據(jù)庫與ADO.NET概述

4、使用ADO.NET訪問數(shù)據(jù)庫5、數(shù)據(jù)列表控件6、數(shù)據(jù)庫應(yīng)用程序?qū)嵗?023/2/531、Web應(yīng)用程序概述一、Web應(yīng)用技術(shù)的發(fā)展二、ASP.NET概述三、ASP.NETWeb應(yīng)用程序返回2023/2/54一、Web應(yīng)用技術(shù)的發(fā)展1989年在歐洲核物理研究中心(CERN)的Tim-BernersLee領(lǐng)導(dǎo)下開發(fā)的WWW(WorldWideWeb)技術(shù)有:1.靜態(tài)網(wǎng)頁技術(shù)2.動態(tài)網(wǎng)頁技術(shù)2023/2/551.靜態(tài)網(wǎng)頁技術(shù)這類網(wǎng)頁文件里沒有程序代碼,只有HTML標記,一般以后綴.htm或.html存放。制作工具可以是記事本、EditPlus等純文本編寫工具,也可以是FrontPage、DreamWeaver等所見即所得的工具。靜態(tài)網(wǎng)頁的缺點是:如果要修改網(wǎng)頁,必須修改源代碼,并重新上傳。2023/2/561.靜態(tài)網(wǎng)頁技術(shù)靜態(tài)網(wǎng)頁技術(shù)的基礎(chǔ):HTML(超文本標記語言)HTTP(超文本傳輸協(xié)議)靜態(tài)網(wǎng)頁技術(shù)工作機制:2023/2/57靜態(tài)網(wǎng)頁示例2023/2/582、動態(tài)網(wǎng)頁技術(shù)這類網(wǎng)頁文件不僅含有HTML標記,而且含有程序代碼,這種網(wǎng)頁的后綴一般根據(jù)不同的程序設(shè)計語言而不同,如ASP.NET文件的后綴為.aspx。

兩個顯著特點:可以動態(tài)產(chǎn)生頁面支持客戶端和服務(wù)器端的交互功能2023/2/592.動態(tài)網(wǎng)頁技術(shù)動態(tài)網(wǎng)頁技術(shù)的特點:交互性好;頁面自動更新;因時因人而異以DHTML+CGI+ISAPI等為基礎(chǔ)的動態(tài)網(wǎng)頁技術(shù)—缺陷:CGI和ISAPI都運行于服務(wù)器,當大量用戶并發(fā)訪問網(wǎng)站時,系統(tǒng)穩(wěn)定性和安全性不足ASP技術(shù)—缺陷:腳本語言編寫但功能有限、ASP程序與HTML標記混合造成可維護性差、要求設(shè)計人員既要擅長界面設(shè)計又要擅長程設(shè)計、可擴展性和代碼的可復(fù)用性較差A(yù)SP.NET技術(shù)—特點:編譯式語言+面向?qū)ο蟮氖录?qū)動編程2023/2/510動態(tài)網(wǎng)頁示例聊天室留言板BBS論壇2023/2/511網(wǎng)頁的工作原理客戶端服務(wù)器端發(fā)出請求發(fā)回網(wǎng)頁2023/2/512靜態(tài)網(wǎng)頁的工作原理接受請求找到靜態(tài)網(wǎng)頁發(fā)送網(wǎng)頁服務(wù)器端2023/2/513動態(tài)網(wǎng)頁的工作原理接受請求找到動態(tài)網(wǎng)頁發(fā)送網(wǎng)頁服務(wù)器端執(zhí)行程序代碼,生成靜態(tài)網(wǎng)頁2023/2/514常見的網(wǎng)絡(luò)程序設(shè)計2023/2/515ASP(ActiveServerPages)微軟公司推出服務(wù)器端:Windows2000+IIS、Windows98+PWS;客戶端:普通瀏覽器即可特點:將VBscript或JavaScript嵌入到HTML中。優(yōu)點:簡單易學(xué)、容易上手;缺點:不能跨平臺2023/2/516PHPRasmus

Lerdorf1994年提出,經(jīng)過其他人參與,共同開發(fā)而成。服務(wù)器端:Unix,Linux,或者Windows操作系統(tǒng)下;客戶端:普通瀏覽器。優(yōu)點:免費、開放源代碼;缺點:缺乏大公司的支持。2023/2/517JSP(JavaServerPages)它是由SUN提出,多家公司合作建立的一種動態(tài)網(wǎng)頁技術(shù)。該技術(shù)的目的是為了整合已經(jīng)存在的Java編程環(huán)境(例如JavaServlet等),結(jié)果產(chǎn)生了一個全新的足以和ASP抗衡的網(wǎng)絡(luò)程序語言。JSP是將Java程序片段(Scriptlet)和JSP標記嵌入普通的HTML文檔中。優(yōu)點:跨平臺;缺點:復(fù)雜難學(xué)2023/2/518二、ASP.NET概述1.ASP.NET簡介2.ASP.NET的特點和優(yōu)勢3.ASP.NET的運行環(huán)境4.ASP.NET的工作原理2023/2/519NET

Framework介紹如果互聯(lián)網(wǎng)是一個信息海洋,那么每一個網(wǎng)站就是信息海洋中的“數(shù)字孤島”,如何將這些“數(shù)字孤島”有機的聯(lián)系起來,將是下一代網(wǎng)絡(luò)的核心所在。

.NET的核心內(nèi)容之一就是要搭建第三代互聯(lián)網(wǎng)平臺,這個網(wǎng)絡(luò)平臺將打破不同的上網(wǎng)設(shè)備、不同的操作系統(tǒng)、不同的網(wǎng)站以及各大機構(gòu)和工業(yè)界的網(wǎng)絡(luò)障礙,將解決網(wǎng)站之間的協(xié)同合作,使網(wǎng)站之間形成自動交流,從而最大程度的共享資源。

2023/2/520NET

Framework介紹公共語言運行庫(CLR:CommonLanguageRuntime)ASP.NET、VB.NET、C#等語言運行庫

基礎(chǔ)類庫(BaseClassLibrary)

2023/2/5211.ASP.NET簡介ASP.NET又稱為ASP+,但它不是ASP的簡單升級,而是微軟提出的.NET框架的一部分,它是一種以.NET框架為基礎(chǔ)開發(fā)網(wǎng)上應(yīng)用程序的全新模式。

2023/2/522ASP.NET的歷史ASP的第一個版本是0.9測試版。它給WEB開發(fā)帶來一陣暴風。最終出場的是ActiveServerPage1.0

1998年,微軟公司又發(fā)布了ASP2.0,主要區(qū)別是外部的組件需要實例化。Windows2000的推出,IIS5.0附帶了ASP3.0,COM+組件服務(wù)給組件提供了一個更好的執(zhí)行環(huán)境。微軟公司推出了ASP.NET,ASP.NET又叫ASP+,它不是ASP的簡單升級,而是.NET體系的一部分,2023/2/5232、ASP.NET的功能和特點(1)效率增強

ASP.NET采用編譯后運行的方式,速度大大提高。(2)頂級開發(fā)工具支持

ASP.NET可以在VisualStudio.NET中開發(fā),支持所見即所得、拖放控件和自動部署等功能??梢允归_發(fā)效率大大提高。

(3)程序結(jié)構(gòu)清晰

ASP.NET可以將程序代碼和HTML標記分開,使得程序結(jié)構(gòu)更清晰。

2023/2/5242、ASP.NET的功能和特點(4)開發(fā)簡單

ASP.NET中的很多特性使得開發(fā)更簡單,如驗證控件。(5)移植方便在ASP.NET中,可以向目標服務(wù)器直接復(fù)制組件,當需要更新時,重新復(fù)制一個即可。ASP.NET會自動逐步用新的組件替換舊的組件。(6)Web服務(wù)所謂Web服務(wù),就是一種特殊的Web組件,該組件有一些屬性和方法,其它網(wǎng)上應(yīng)用程序或傳統(tǒng)應(yīng)用程序可以遠程調(diào)用這些屬性和方法,并返回一個簡單的結(jié)果。

2023/2/5253、ASP.NET的運行環(huán)境服務(wù)器端Windows2000+SP2IIS5.0.NETframeworkSDK(.NET框架開發(fā)工具SDK)MicrosoftDataAccessComponents2.7客戶端IE5.5以上2023/2/5264、ASP.NET的工作原理2023/2/527三、ASP.NETWeb應(yīng)用程序返回2023/2/5282Web應(yīng)用程序的設(shè)計一、設(shè)計Web應(yīng)用程序的一般步驟

二、ASP.NETWeb應(yīng)用程序的發(fā)布與測試返回2023/2/529一、設(shè)計Web應(yīng)用程序的一般步驟1.利用VS2008設(shè)計Web應(yīng)用程序的操作步驟:S1:新建項—網(wǎng)站設(shè)計S2:設(shè)置網(wǎng)站位置S3:添加網(wǎng)頁S4:設(shè)計Web窗體S5:設(shè)置窗體及窗體控件的屬性S6:編寫程序S7:執(zhí)行Web應(yīng)用程序S8:查看運行結(jié)果2023/2/5302.Web窗體一個Web窗體由窗體文件(.aspx)和代碼隱藏文件(.cs)組成VS使用@Page指令自動連接.aspx文件和.cs文件<%PageLanguage="C#"AutoEventWireup="true"Codefile="…"Inherits=

"…"

%>ASP.NET的窗體控件<HTML元素

id="控件ID"runat="server"…/>例:<formid="form1"runat="server"/><asp:控件元素id="控件ID"runat="server"…/>例:<asp:ButtonID="btnSubmit"runat="server"Text="提交"/>2023/2/531二、ASP.NETWeb應(yīng)用程序的發(fā)布與測試

1.準備發(fā)布2.發(fā)布ASP.NETWeb應(yīng)用程序

3.Web應(yīng)用程序測試2023/2/5321.準備發(fā)布(1)生成Web應(yīng)用程序操作方法:在VisualStudio.NET2005的解決方案資源管理器窗口中,右擊網(wǎng)站名并選擇“生成網(wǎng)站”(2)檢查Web服務(wù)器是否正常如果要發(fā)布到本地計算機,則必須檢查本地計算機是否安裝了IIS,檢查IIS是否正常工作2023/2/5332.發(fā)布ASP.NETWeb應(yīng)用程序

2023/2/5343.Web應(yīng)用程序測試返回2023/2/5353數(shù)據(jù)庫與ADO.NET概述

一、數(shù)據(jù)庫概述

二、常用的SQL語句

三、ADO.Net概述返回2023/2/536一、數(shù)據(jù)庫概述

1.表、記錄和字段

2.數(shù)據(jù)庫3.索引4.關(guān)系2023/2/5371.表、記錄和字段

關(guān)系數(shù)據(jù)庫系統(tǒng)采用關(guān)系模型作為數(shù)據(jù)的組織方式。

表是按某一公共結(jié)構(gòu)存儲的一組相似數(shù)據(jù),類似于日常生活中的表格。表按行列方式將相關(guān)的信息排列成邏輯組。表中的每一行稱為記錄。

列稱為字段2023/2/5382.數(shù)據(jù)庫數(shù)據(jù)庫將數(shù)據(jù)表表示為多個表的集合,通過建立表之間的關(guān)系來定義數(shù)據(jù)庫的結(jié)構(gòu)所謂主鍵是指用來惟一標識表中記錄的一個或一組字段。主鍵不允許有重復(fù)值。外鍵是指用來連接另一個表、并在另一表中為主鍵的字段。2023/2/5393.索引使用索引來提高數(shù)據(jù)的檢索速度每個索引都有一個索引表達式來確定索引的順序,索引表達式既可是一個字段,也可是多個字段的組合。

可以為一個表生成多個索引,每個索引均代表一種處理數(shù)據(jù)的順序。

2023/2/5404.關(guān)系可以將包含重復(fù)數(shù)據(jù)的表拆分成若干個沒有重復(fù)數(shù)據(jù)的簡單表,并通過建立表與表之間的關(guān)系來檢索相關(guān)表中的記錄。表與表之間可能會有4種關(guān)系一對一關(guān)系:指父表中的記錄最多只與子表中的一條記錄相匹配,反之亦然;一對多關(guān)系:指父表中的記錄與子表中的多條記錄有關(guān)。例如,對于客戶表和訂單表來講,每個訂單只與一個客戶有關(guān),而每個客戶可以有多個訂單,因此客戶表和訂單表是一對多的關(guān)系;多對一關(guān)系:與一對多是互補的,即父表中的多條記錄與子表中的一條記錄相關(guān);多對多關(guān)系:指父表中的多條記錄與子表中的多條記錄有關(guān)。2023/2/541二、常用的SQL語句

1.SQL簡介2.SQL的構(gòu)成3.select語句4.delete語句5.insert語句6.update語句2023/2/5421.SQL簡介SQL(StructuredQueryLanguage)語言是一個綜合的、通用的關(guān)系數(shù)據(jù)庫語言,其功能包括查詢、操縱、定義和控制。目前,SQL標準有3個版本。SQL-89SQL-92SQL32023/2/5432.SQL的構(gòu)成SQL由命令、子句和運算符等元素所構(gòu)成的,這些元素結(jié)合起來組成用于創(chuàng)建、更新新和操作數(shù)據(jù)的語句。SQL命令分兩大類DDL(數(shù)據(jù)定義語言)命令和DML(數(shù)據(jù)操縱語言)命令。DDL命令用于創(chuàng)建和定義新的數(shù)據(jù)庫、字段和索引。2023/2/5443.select語句select語句的功能是從現(xiàn)有的數(shù)據(jù)庫中檢索數(shù)據(jù)。from子句指定數(shù)據(jù)的來源,即指出記錄來自哪些表。where子句指定選擇記錄時要滿足的條件。groupby子句對記錄分組。having子句確定在帶groupby子句的查詢中具體顯示哪些記錄,可以用having子句來顯示滿足指定條件的分組。orderby子句對記錄排序。2023/2/5454.delete語句delete語句的功能是刪除from子句列出的、滿足where子句條件的一個或多個表中的記錄。如:deletefromOrdersWhereOrderId=162023/2/5465.insert語句insert語句用于添加記錄到表中。如:insertintoOrders(CustID,ProductID,OrderDate,SendDate,Qty)values(‘2’,’5’,’2008-8-12’,’2008-8-13’,1)

2023/2/5476.update語句update語句按某個條件來更新特定表中的字段值。如:updateProductssetPrice=8900whereProducts.ProductId=32023/2/5484使用ADO.NET訪問數(shù)據(jù)庫一、使用Connection對象訪問數(shù)據(jù)庫二、使用Command對象訪問數(shù)據(jù)庫

三、使用DataReader對象訪問數(shù)據(jù)庫四、使用DataAdaper與DataSet對象操作數(shù)據(jù)庫返回2023/2/5494使用ADO.NET訪問數(shù)據(jù)庫

2023/2/5504使用ADO.NET訪問數(shù)據(jù)庫Connection:Connection對象用來連接數(shù)據(jù)庫;Command:Command對象執(zhí)行不需要返回結(jié)果的數(shù)據(jù)庫執(zhí)行命令或存儲過程;DataReader:DataReader對象用于從數(shù)據(jù)源中讀取僅向前和只讀的數(shù)據(jù)流。DataSet:DataSet是數(shù)據(jù)的內(nèi)存駐留表示形式,它提供了獨立于數(shù)據(jù)源的一致關(guān)系編程模型。DataSet表示整個數(shù)據(jù)集,其中包含表、約束和表之間的關(guān)系。DataAdapter:控制與現(xiàn)有數(shù)據(jù)源的交互,從數(shù)據(jù)源中獲取數(shù)據(jù)、填充DataSet中的表和約束并將對DataSet的更改提交回數(shù)據(jù)源。

2023/2/551一、使用Connection對象訪問數(shù)據(jù)庫

Connection的主要成員屬性或方法說明ConnectionString連接字符串Open()打開數(shù)據(jù)庫連接

Close()關(guān)閉數(shù)據(jù)庫連接

2023/2/552一、使用Connection對象訪問數(shù)據(jù)庫

(1)定義連接字符串使用SQLServer數(shù)據(jù)庫,身份驗證:DataSource=服務(wù)器名;InitialCatalog=數(shù)據(jù)庫名;UserID=用戶名;Pwd=密碼使用自帶的數(shù)據(jù)庫:

stringstrCon="DataSource=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Database1.mdf;IntegratedSecurity=True;UserInstance=True";

(3)打開與數(shù)據(jù)庫的連接

connection.Open();(2)創(chuàng)建Connection對象

SqlConnectionconnection=newSqlConnection(strCon);連接數(shù)據(jù)庫步驟:2023/2/553一、使用Connection對象訪問數(shù)據(jù)庫

不同命名空間的Connection對象

命名空間對應(yīng)的Connection對象System.Data.SqlClient

SqlConnectionSystem.Data.OleDbOleDbConnectionSystem.Data.Odbc

OdbcConnectionSystem.Data.OracleClientOracleConnection2023/2/554一、使用Connection對象訪問數(shù)據(jù)庫

【實例1】創(chuàng)建一個Windows項目DataTestDemo,連接示例數(shù)據(jù)庫pubs

。2023/2/555二、使用Command對象訪問數(shù)據(jù)庫Command的主要成員屬性或方法說明ConnectionCommand對象使用的數(shù)據(jù)庫連接SqlCommand

可以執(zhí)行sql語句ExecuteNonQuery()執(zhí)行不返回行的語句,如UPDATE等,執(zhí)行后返回受影響的行數(shù)ExecuteReader()返回DataReader對象ExecuteScalar()執(zhí)行查詢,并返回查詢所返回的結(jié)果集中第一行的第一列。2023/2/556二、使用Command對象訪問數(shù)據(jù)庫【實例2】在項目DataTestDemo中,連接示例數(shù)據(jù)庫pubs,并查詢數(shù)據(jù)庫中一共有多少種書目。2023/2/557二、使用Command對象訪問數(shù)據(jù)庫使用ExecuteNonQuery()的步驟:(1)創(chuàng)建Connection對象;(2)定義語句sql

;(3)創(chuàng)建sqlCommand對象;(4)執(zhí)行ExecuteNonQuery()方法;(5)根據(jù)返回的結(jié)果進行處理。2023/2/558二、使用Command對象訪問數(shù)據(jù)庫【實例3】在項目DataTestDemo中,連接示例數(shù)據(jù)庫pubs,將所有圖書價格下降0.9%。

2023/2/559三、DataReader對象當我們只需要循序的讀取數(shù)據(jù)而不需要其它操作時,可以使用DataReader對象。DataReader對象只是一次一筆向下循序的讀取數(shù)據(jù)源中的數(shù)據(jù),而且這些數(shù)據(jù)是只讀的,并不允許作其它的操作。因為DataReader在讀取數(shù)據(jù)的時候限制了每次只讀取一筆,而且只能只讀,所以使用起來不但節(jié)省資源而且效率很好。使用DataReader對象除了效率較好之外,因為不用把數(shù)據(jù)全部傳回,故可以降低網(wǎng)絡(luò)的負載。2023/2/560功能:完成從SqlCommand.ExecuteReader方法形成的SqlDataReader中讀取數(shù)據(jù)。主要屬性:FieldCount,GetValue,GetName(i),。主要方法:Read,Close,NextResult。對象定義:ProtectedSystem.Data.SqlClient.SqlDataReader

SqlDataReader1;三、DataReader對象2023/2/561例如:讀取一個表中數(shù)據(jù)(具體見例子)SqlDataReaderdataReader=command.ExecuteReader();while(dataReader.Read()){

stringname=

dataReader["name"].ToString();

//stringname=

(string)dataReader.GetValue(1);//stringname=

(string)dataReader.GetName(2);//獲取字段值ListBox1.Items.Add(name);}dataReader.Close();三、DataReader對象2023/2/562四、DataAdaper與DataSet

DataReader是一種快速的、輕量的、只前進的數(shù)據(jù)訪問對象。當數(shù)據(jù)量較大,想要大批量的查詢和修改數(shù)據(jù),或者想在斷開數(shù)據(jù)庫連接的情況下操作數(shù)據(jù)時可以使用DataSet對象。DataSet

數(shù)據(jù)集可以簡單理解為一個臨時數(shù)據(jù)庫。DataSet將數(shù)據(jù)源的數(shù)據(jù)保存在內(nèi)存中并獨立于任

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論