程序設(shè)計數(shù)據(jù)庫基礎(chǔ)_第1頁
程序設(shè)計數(shù)據(jù)庫基礎(chǔ)_第2頁
程序設(shè)計數(shù)據(jù)庫基礎(chǔ)_第3頁
程序設(shè)計數(shù)據(jù)庫基礎(chǔ)_第4頁
程序設(shè)計數(shù)據(jù)庫基礎(chǔ)_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

VisualBasic.Net程序設(shè)計華中農(nóng)業(yè)大學(xué)理學(xué)院計算機系章程華中農(nóng)業(yè)大學(xué)理學(xué)院計算機系章程2024/10/17數(shù)據(jù)庫基礎(chǔ)1數(shù)據(jù)庫概念2建立數(shù)據(jù)庫

3ADO.NET對象4連接數(shù)據(jù)庫步驟5SQL語言華中農(nóng)業(yè)大學(xué)理學(xué)院計算機系章程2024/10/171數(shù)據(jù)庫概述數(shù)據(jù)庫以一定的組織方式將相關(guān)的數(shù)據(jù)組織在一起,存放在計算機外存儲器,能為多個用戶共享,與應(yīng)用程序彼此獨立的一組數(shù)據(jù)的集合。VisualBasic支持多種類型的數(shù)據(jù)庫:Access、FoxPro、MicrosoftExcel、SQLServer和Oracle等。華中農(nóng)業(yè)大學(xué)理學(xué)院計算機系章程2024/10/17常用的DBMS和開發(fā)工具VBVCPowerBuilderDelphi應(yīng)用程序數(shù)據(jù)庫管理系統(tǒng)SQL命令A(yù)CCESSSQLSERVERORACLEFOXPRO數(shù)據(jù)庫數(shù)據(jù)庫引擎華中農(nóng)業(yè)大學(xué)理學(xué)院計算機系章程2024/10/17關(guān)系型數(shù)據(jù)庫模型

數(shù)據(jù)庫表1.關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)

實體及實體間的聯(lián)系都用二維表表示,數(shù)據(jù)結(jié)構(gòu)單一化。一張二維表稱為一個關(guān)系。華中農(nóng)業(yè)大學(xué)理學(xué)院計算機系章程2024/10/17江蘇體育19男李明200613111浙江藝術(shù)18男楊志200614026湖北英語18女高杏200613228籍貫院系年齡性別姓名學(xué)號元組(記錄)表中的一行即為一個元組,元組中的每一個值叫做分量。屬性(字段)元組由若干屬性構(gòu)成。主碼(主鍵)能唯一標識元組的屬性集。學(xué)生(學(xué)號,姓名,性別,年齡,系別,籍貫)2.關(guān)系描述華中農(nóng)業(yè)大學(xué)理學(xué)院計算機系章程2024/10/17表是有關(guān)信息的邏輯組,行被稱為記錄,列則被稱為字段。主鍵記錄字段華中農(nóng)業(yè)大學(xué)理學(xué)院計算機系章程2024/10/17數(shù)據(jù)庫概念(1)數(shù)據(jù)庫:數(shù)據(jù)的集合(2)數(shù)據(jù)庫管理:對數(shù)據(jù)庫進行數(shù)據(jù)管理(3)數(shù)據(jù)庫管理系統(tǒng):是建立數(shù)據(jù)庫的管理軟件(4)數(shù)據(jù)表:實際存放數(shù)據(jù)的表(5)視圖:由查詢產(chǎn)生的虛表,數(shù)據(jù)源(6)索引:主關(guān)鍵字,如學(xué)號,教工號,問題號(7)字段:屬性、列(8)SQL語言:StructrueQueryLanguage華中農(nóng)業(yè)大學(xué)理學(xué)院計算機系章程2024/10/172建立數(shù)據(jù)庫

(1)使用Access建立數(shù)據(jù)庫舉例:使用Access建立一個學(xué)生提問老師答問的數(shù)據(jù)庫dbQuestion.mdb,即問答數(shù)據(jù)庫。(2)該數(shù)據(jù)庫包含數(shù)據(jù)表:

Student表、Teacher表、Question表華中農(nóng)業(yè)大學(xué)理學(xué)院計算機系章程2024/10/172.1各數(shù)據(jù)表字段分配(1)Student表

Student(Sid,Spwd,Sname,Ssex,Sprof)說明:Sid:主關(guān)鍵字,NotNull字段名含義類型長度舉例說明Sid學(xué)生學(xué)號文本13“2008306202597”Spwd登錄密碼文本8“123”Sname學(xué)生姓名文本8“游藝”Ssex學(xué)生性別文本2“女”Sprof專業(yè)年級文本10“動醫(yī)0802”華中農(nóng)業(yè)大學(xué)理學(xué)院計算機系章程2024/10/172.1各數(shù)據(jù)表字段分配(2)Teacher表

Teacher(Tid,Tpwd,Tname,Tsex,Tdept,Tlesson)說明:Tid:主關(guān)鍵字,NotNull字段名含義類型長度舉例說明Tid教師工號文本7“2001020”Tpwd登錄密碼文本8“123”Tname教師姓名文本8“章程”Tsex教師性別文本2“男”Tdept教師院系文本6“計算機”Tlesson主講課程文本20“VB.NET程序設(shè)計”華中農(nóng)業(yè)大學(xué)理學(xué)院計算機系章程2024/10/172.1各數(shù)據(jù)表字段分配(3)Question表

Teacher(Qid,Sid,Tid,Qtitle,Qcontent,Qanswer,Qdate,Qis)說明:Qid:主關(guān)鍵字,NotNull字段名含義類型長度舉例說明Qid問題編號文本6“Q00001”Sid學(xué)生學(xué)號文本13“2008306202597”Tid教師工號文本7“2001020”Qtitle問題標題文本10“數(shù)據(jù)庫”Qcontent問題內(nèi)容文本250“什么是數(shù)據(jù)庫?”Qanswer問題答案文本250“是存放數(shù)據(jù)的集合”Qdate提問時間文本10“2010-05-16”Qis是否作答文本2“否”華中農(nóng)業(yè)大學(xué)理學(xué)院計算機系章程2024/10/17VB.NET數(shù)據(jù)庫訪問過程華中農(nóng)業(yè)大學(xué)理學(xué)院計算機系章程2024/10/17連接對象(Connection)應(yīng)用程序與服務(wù)器上的數(shù)據(jù)源建立連接(不同類型的數(shù)據(jù)庫使用各自的連接提供程序)命令對象(Command)發(fā)出SQL命令從數(shù)據(jù)源中獲取數(shù)據(jù)數(shù)據(jù)集對象(dataSet)用來保存所查詢到的數(shù)據(jù)記錄

數(shù)據(jù)適配器(DataAdapter)用于在數(shù)據(jù)源和數(shù)據(jù)集之間交換數(shù)據(jù)。華中農(nóng)業(yè)大學(xué)理學(xué)院計算機系章程2024/10/17使用數(shù)據(jù)控件訪問數(shù)據(jù)庫ADO.NET數(shù)據(jù)控件對象有4套:

用于SQLServer7.0(以Sql為前導(dǎo)名)

用于Oracle數(shù)據(jù)庫(以O(shè)rc為前導(dǎo)名)用于ODBC數(shù)據(jù)源(以O(shè)dbc為前導(dǎo)名)用于OLEDB接口的數(shù)據(jù)庫(以O(shè)leDb為前導(dǎo)名)

2005以上版本需要手動添加到工具箱華中農(nóng)業(yè)大學(xué)理學(xué)院計算機系章程2024/10/17

OleDb數(shù)據(jù)控件對象簡介一個通用對象,可訪問目前流行的數(shù)據(jù)庫系統(tǒng)

數(shù)據(jù)對象名稱功能描述OleDbConnection建立一個與數(shù)據(jù)源的連接OleDbCommand用于執(zhí)行一條SQL語句,以便從數(shù)據(jù)源中獲取數(shù)據(jù)OleDbDataReader提供從數(shù)據(jù)源讀取數(shù)據(jù)行的接口,需要與OleDbCommand配合使用OleDbDataAdapter在與數(shù)據(jù)源連接時,可從數(shù)據(jù)源讀數(shù)據(jù)填充DataSet或更新數(shù)據(jù)源DataSet是保存在內(nèi)存中供使用的數(shù)據(jù)副本華中農(nóng)業(yè)大學(xué)理學(xué)院計算機系章程2024/10/17

使用步驟(1)啟動數(shù)據(jù)適配器配置向?qū)?shù)據(jù)適配器對象OledbDataAdapter從工具箱拖放到窗體或組件上。(2)創(chuàng)建連接華中農(nóng)業(yè)大學(xué)理學(xué)院計算機系章程2024/10/17

(3)選擇提供程序選擇提供程序

華中農(nóng)業(yè)大學(xué)理學(xué)院計算機系章程2024/10/17

(4)指定訪問的數(shù)據(jù)庫指定要訪問的數(shù)據(jù)庫文件華中農(nóng)業(yè)大學(xué)理學(xué)院計算機系章程2024/10/17

(5)配置命令對象選擇使用SQL語句建立查詢?nèi)A中農(nóng)業(yè)大學(xué)理學(xué)院計算機系章程2024/10/173、OleDb數(shù)據(jù)控件對象詳細介紹(1)命令對象Command重要屬性:Connection

指定連接對象CommandType

使用命令的類型CommandText

操作命令的內(nèi)容華中農(nóng)業(yè)大學(xué)理學(xué)院計算機系章程2024/10/17(2)連接對象Connection重要屬性:ConnectionString:一個字符串,包含了用于與數(shù)據(jù)源建立連接的相關(guān)信息?!纠纭縋rovider=Microsoft.Jet.OLEDB.4.0;DataSource=Student.mdb【說明】Provide:指定連接提供程序的名稱;DataSource:用于指定要連接的數(shù)據(jù)源文件。華中農(nóng)業(yè)大學(xué)理學(xué)院計算機系章程2024/10/17(3)生成數(shù)據(jù)集(DataSet)

選擇“數(shù)據(jù)|生成數(shù)據(jù)集”命令,打開“生成數(shù)據(jù)集”對話框。12.命名數(shù)據(jù)集

34華中農(nóng)業(yè)大學(xué)理學(xué)院計算機系章程2024/10/17OledbDataAdapter1上點右鍵,預(yù)覽和添加數(shù)據(jù)集注意:這里的DataSet1是指一個數(shù)據(jù)集的定義,它是一個用xml格式表示的,文件名為Dataset1.xsd的數(shù)據(jù)集定義文件,并不包含任何的數(shù)據(jù)庫中的數(shù)據(jù)。而按此文件架構(gòu)產(chǎn)生的DataSet11才是一個包含實際數(shù)據(jù)的數(shù)據(jù)集對象實例。華中農(nóng)業(yè)大學(xué)理學(xué)院計算機系章程2024/10/173ADO.NET對象3.1引用命名空間:Imports指令

ImportsSystem.Data.Oledb3.2數(shù)據(jù)庫連接對象Connection3.3數(shù)據(jù)庫命令對象Command3.4數(shù)據(jù)庫數(shù)據(jù)集對象DataSet3.5數(shù)據(jù)庫數(shù)據(jù)適配對象DataAdapter3.6數(shù)據(jù)庫數(shù)據(jù)只讀對象DataReader華中農(nóng)業(yè)大學(xué)理學(xué)院計算機系章程2024/10/173.1Connection對象(1)創(chuàng)建對象

DimconnAsNewOleDbConnection(2)屬性ConnectionString,如:conn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=D:\vbnetDB\dbtest.mdb"(3)方法

Open()、Close()華中農(nóng)業(yè)大學(xué)理學(xué)院計算機系章程2024/10/173.2Command對象(1)創(chuàng)建對象

DimcmdAsNewOleDbCommand(2)屬性

CommandText,Connection如:

cmd.CommandText="Select*fromstudent"cmd.Connection=conn(3)方法

ExecuteReader()、ExecuteScalar()、

ExecuteNoneQuery()華中農(nóng)業(yè)大學(xué)理學(xué)院計算機系章程2024/10/173.3DataSet+DataAdapter對象(1)創(chuàng)建對象

DimdsAsNewDataSetDimdaAsNewOleDbDataAdapter(cmd)(2)方法

SelectCommand,UpdateCommand,InsertCommand,DeleteCommand(2)方法

da.Fill(ds,"student")

DataGrid1.DataSource=ds.Tables("student")

華中農(nóng)業(yè)大學(xué)理學(xué)院計算機系章程2024/10/174連接數(shù)據(jù)庫步驟例題:連接數(shù)據(jù)庫。連接數(shù)據(jù)庫dbtest,利用數(shù)據(jù)顯示控件DataGrid將其中學(xué)生基本信息在窗體中進行顯示。步驟:(1)使用Imports指令引入命令空間System.Data和System.Data.OleDb。(2)定義OleDbConnection對象、OleDbCommand對象及DataSet數(shù)據(jù)集對象。(3)設(shè)置連接對象的連接字符串參數(shù),并打開到數(shù)據(jù)源的連接。(4)設(shè)置Command對象的連接屬性,設(shè)置該對象的執(zhí)行的SQL命令。(5)創(chuàng)建DataAdapter對象,填充數(shù)據(jù)集。(6)定義DataGrid控件對象的數(shù)據(jù)源數(shù)據(jù)。(7)關(guān)閉到數(shù)據(jù)源的連接。華中農(nóng)業(yè)大學(xué)理學(xué)院計算機系章程2024/10/174數(shù)據(jù)庫連接代碼ImportsSystem.DataImportsSystem.Data.OleDb‘引用空間‘---------------------------------------------------------------DimconnAsOleDbConnection=NewOleDbConnection’定義連接對象DimcmdAsOleDbCommand=NewOleDbCommand’定義命令執(zhí)行對象DimdaAsOleDbDataAdapter=NewOleDbDataAdapter’定義適配對象DimdsAsDataSet=NewDataSet’定義數(shù)據(jù)集conn.ConnectionString=“Provider=Microsoft.Jet.OLEDB.4.0;DataSource=I:\vbnetDB\dbtest.mdb”

’連接字符串conn.Open()’打開數(shù)據(jù)庫cmd.Connection=conn

’連接執(zhí)行對象cmd.CommandText=“select*fromstudent”

’編寫SQL執(zhí)行命令da.SelectCommand=cmd

’執(zhí)行查詢操作da.Fill(ds,“student”)’填充數(shù)據(jù)源Me.DataGrid1.DataSource=ds.Tables(“student”)’綁定數(shù)據(jù)源conn.Close()斷開庫連接華中農(nóng)業(yè)大學(xué)理學(xué)院計算機系章程2024/10/175SQL語言(1)更新語句格式:

Insertinto表名values(字段值1,字段值2,…)Deletefrom表名where條件

Update表名set字段=字段值where條件(2)查詢語句格式:

Select字段名from表名where條件單表查詢,雙表查詢,多表查詢,嵌套查詢等值查詢,連接查詢,自然查詢?nèi)A中農(nóng)業(yè)大學(xué)理學(xué)院計算機系章程2024/10/176更新操作2.1例:添加學(xué)生信息

cmd.CommandText=“Insert語句”

cmd.ExecuteNonQuery()2.2例:刪除學(xué)生信息

cmd.CommandText=“Delete語句”

cmd.ExecuteNonQuery()2.3例:修改學(xué)生信息

cmd.CommandText=“Update語句”

cmd.ExecuteNonQuery()華中農(nóng)業(yè)大學(xué)理學(xué)院計算機系章程2024/10/176.1添加操作2.1例:添加學(xué)生信息:Insert語句

insert_sql=〞insertintostudentvalues(‘2008306202597’,’123’,’游藝’,’女’,’信管0802’);〞cmd.CommandText=insert_sqlcmd.ExecuteNonQuery()

華中農(nóng)業(yè)大學(xué)理學(xué)院計算機系章程2024/10/176.1添加操作

添加學(xué)生實現(xiàn)代碼:ImportsSystem.DataImportsSystem.Data.OleDb‘引用空間‘---------------------------------------------------------------DimconnAsOleDbConnection=NewOleDbConnectionDimcmdAsOleDbCommand=NewOleDbCommandconn.ConnectionString=“Provider=Microsoft.Jet.OLEDB.4.0;DataSource=I:\vbnetDB\dbquestion.mdb”

’連接字符串conn.Open()cmd.Connection=connDiminsert_sqlasstringinsert_sql=〞insertintostudentvalues(‘2008306202597’,’123’,’游藝’,’女’,’信管0802’);〞cmd.CommandText=insert_sql

SQL語言cmd.ExecuteNonQuery()‘

執(zhí)行命令conn.Close()‘

斷開庫連接華中農(nóng)業(yè)大學(xué)理學(xué)院計算機系章程2024/10/176.1添加代碼

通過界面添加學(xué)生實現(xiàn)代碼更改:Dimxsid,xspwd,xsname,xssex,xsprofasstringxsid=textbox1.text.tostring()‘從界面獲取添加值信息xspwd=textbox2.text.tostring()xsname=textbox3.text.tostring()bobox1.text.tostring()xsprof=textbox4.text.tostring()Diminsert_sqlasstringinsert_sql=〞insertintostudentvalues(‘〞&xsid&〞’,’〞&xspwd&〞’,’〞&xsname&〞’,’〞&xssex&〞’,’〞&xsprof&〞’);〞cmd.CommandText=insert_sqlcmd.ExecuteNonQuery()華中農(nóng)業(yè)大學(xué)理學(xué)院計算機系章程2024/10/176.2刪除操作2.2例:刪除學(xué)生信息

cmd.CommandText=“Delete語句”

cmd.ExecuteNonQuery()DeleteFromstudentWheresid=“2008306202597”華中農(nóng)業(yè)大學(xué)理學(xué)院計算機系章程2024/10/176.3修改操作2.3例:修改學(xué)生信息

cmd.CommandText=“Update語句”

cmd.ExecuteNonQuery()

華中農(nóng)業(yè)大學(xué)理學(xué)院計算機系章程2024/10/177查詢操作例:查詢學(xué)生信息(1)查詢?nèi)繉W(xué)生信息(2)查詢女生信息(3)查詢年齡在20-21之間的學(xué)

溫馨提示

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

最新文檔

評論

0/150

提交評論