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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

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

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

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

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

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

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

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

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

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

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

OleDb數(shù)據(jù)控件對(duì)象簡(jiǎn)介一個(gè)通用對(duì)象,可訪問(wèn)目前流行的數(shù)據(jù)庫(kù)系統(tǒng)

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

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

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

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

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

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

指定連接對(duì)象CommandType

使用命令的類型CommandText

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

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

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

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

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

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

DimcmdAsNewOleDbCommand(2)屬性

CommandText,Connection如:

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

ExecuteReader()、ExecuteScalar()、

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

DimdsAsNewDataSetDimdaAsNewOleDbDataAdapter(cmd)(2)方法

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

da.Fill(ds,"student")

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

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

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

’連接執(zhí)行對(duì)象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()斷開(kāi)庫(kù)連接華中農(nóng)業(yè)大學(xué)理學(xué)院計(jì)算機(jī)系章程2024/10/175SQL語(yǔ)言(1)更新語(yǔ)句格式:

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

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

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

cmd.CommandText=“Insert語(yǔ)句”

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

cmd.CommandText=“Delete語(yǔ)句”

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

cmd.CommandText=“Update語(yǔ)句”

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

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

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

添加學(xué)生實(shí)現(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語(yǔ)言cmd.ExecuteNonQuery()‘

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

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

通過(guò)界面添加學(xué)生實(shí)現(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é)院計(jì)算機(jī)系章程2024/10/176.2刪除操作2.2例:刪除學(xué)生信息

cmd.CommandText=“Delete語(yǔ)句”

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

cmd.CommandText=“Update語(yǔ)句”

cmd.ExecuteNonQuery()

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

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論