子項目4表數(shù)據(jù)的管理_第1頁
子項目4表數(shù)據(jù)的管理_第2頁
子項目4表數(shù)據(jù)的管理_第3頁
子項目4表數(shù)據(jù)的管理_第4頁
子項目4表數(shù)據(jù)的管理_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

子項目4表數(shù)據(jù)的管理★情景描述根據(jù)需求分析的要求,實驗室財務(wù)管理系統(tǒng)采用模塊化管理,當(dāng)需要添加新模塊時,只需要在頁面增加相應(yīng)模塊鏈接錨文本即可,這樣的設(shè)計可以滿足系統(tǒng)可擴展性的需要。該系統(tǒng)進行界面設(shè)計完成后,就可以編寫功能代碼,通過調(diào)用SQL語句完成數(shù)據(jù)表的增添、更新、刪除操作。24.1增添記錄數(shù)據(jù)表是數(shù)據(jù)庫存儲數(shù)據(jù)的一種邏輯結(jié)構(gòu),數(shù)據(jù)表創(chuàng)建好后,往往是一張空表。因此,向表是添加數(shù)據(jù)是表操作的首要步驟34.1.1使用圖形工具添加數(shù)據(jù)(1)在對象資源管理器中,選中要添加數(shù)據(jù)的表tbuserinfo,右鍵,在彈出的快捷菜單中選擇命令“打開表”,如圖4-2所示。4(2)在打開的表窗口內(nèi),根據(jù)字段的意義和字段的數(shù)據(jù)類型,輸入用戶信息。輸入完畢后,單擊工具欄上的,關(guān)閉窗口。(3)再通過“打開表”菜單,在打開的表窗口內(nèi),可以檢查數(shù)據(jù)是否保存成功。54.1.2使用SQL語句添加數(shù)據(jù)使用圖形工具向表中添加數(shù)據(jù)是比較方便的,但是也容易產(chǎn)生一些錯誤。要完成實驗室財務(wù)管理系統(tǒng)的開發(fā),不可能使用手動方式去完成添加數(shù)據(jù)的操作,還需要使用程序調(diào)用SQL語句,向數(shù)據(jù)表中添加數(shù)據(jù)。6鼠標右鍵單擊數(shù)據(jù)庫tbuserinfo,選擇快捷菜單中的“編寫表腳本為”,在彈出的二級子菜單中選擇“INSERT到”,在彈出的三級子菜單中選擇“新查詢編輯器窗口”,出現(xiàn)如圖4-3所示的窗口。78所產(chǎn)生的代碼如下:INSERTINTO[FM].[dbo].[tbuserinfo]([userid],[username],[userpwd],[usertype],[userflag])VALUES(<userid,bigint,>,<username,varchar(20),>,<userpwd,varchar(20),>,<usertype,char(2),>,<userflag,char(1),>)9插入數(shù)據(jù)的語法格式為:INSERT[INTO]表名[(字段列表)]VALUES(相應(yīng)的值列表)10增添記錄的規(guī)則如下:1插入指定屬性列時,插入數(shù)據(jù)的順序必須與指定列順序一致。2如果INSERT語句違反約束或規(guī)則,或者是插入的數(shù)據(jù)與該列定義的數(shù)據(jù)類型不兼容,則插入操作將失敗,并且數(shù)據(jù)庫引擎會提示錯誤信息。3如果VALUES后面的值是字符型的,必須要用單引號引起來。4INSERT語句后可以使用SELECT(在后面章節(jié)會講解)語句增添多條記錄,但是一旦加載的值出現(xiàn)違反規(guī)則或約束的情況,就會導(dǎo)致終止整個語句,不會插入任何行。11(1)插入一條記錄12--增加用戶信息INSERTINTOtbuserinfo(userid,username,userpwd,usertype,userflag)VALUES(15,'李華','李華','2','1')方法二:--打開實驗室財務(wù)管理系統(tǒng)USEFMGO--增加用戶信息INSERTINTOtbuserinfoVALUES(15,'李華','李華','2','1')13(2)插入多條記錄--打開實驗室財務(wù)管理系統(tǒng)USEFMGO--新建在讀學(xué)生表CREATETABLE[dbo].[在讀學(xué)生表]( [userid][bigint]NOTNULL, [username][varchar](20)NULL, [userpwd][varchar](20)NULL, [usertype][char](2)NULL, [userflag][char](1)NULL)GOINSERTINTO在讀學(xué)生表SELECT*FROMtbuserinfowhereuserflag='1'14將代碼輸入查詢窗口中,點擊“執(zhí)行”按鈕,就可以看到消息窗口提示:有多少行受到影響,說明執(zhí)行成功。通過右鍵“在讀學(xué)生表”,如圖4-5所示,可以發(fā)現(xiàn)所有在讀學(xué)生的信息。15練習(xí)1、向tbuserinfo表中添加記錄Userid為20,username為張榮,userpwd為zhangrong,usertype為2,userflag為1164.2更新記錄更新操作是是實驗室財務(wù)管理系統(tǒng)中必不可少的操作,例如,實驗室每年都要送走和迎來一批學(xué)生,人員的改變就涉及到權(quán)限的更改,如下圖4-6所示的用戶管理界面所示。用戶的分為三類,分別為:經(jīng)費本管理人員、財務(wù)管理人員、一般人員,下面主要以“用戶管理”模塊為例,來說明更新記錄的語法格式和基本操作方法。17184.2.1使用圖形工具更新記錄對數(shù)據(jù)表中更新記錄的操作和添加數(shù)據(jù)過程類似,可以通過以下步驟實現(xiàn):(1)選擇要更新的數(shù)據(jù)庫FM,展開表節(jié)點,選中tbuserinfo,右鍵,在打開的快捷菜單中選擇“打開表”,可參見圖4-2“打開表”命令菜單。(2)在打開的表窗口內(nèi),修改要更新的記錄,然后單擊工具欄上的,即可。(3)再通過“打開表”菜單,在打開的表窗口內(nèi),可以檢查數(shù)據(jù)是否更新成功。194.2.2使用SQL語句更新記錄選擇需要更新的數(shù)據(jù)庫FM,展開表節(jié)點,鼠標右鍵單擊需要更新的數(shù)據(jù)表tbuserinfo,選擇“編寫表腳本為”選項,彈出二級子菜單單擊“UPDATE到”,在彈出的三級子菜單中選擇“新查詢編輯器窗口”,出現(xiàn)如圖4-7所示的窗口。2021圖4-7更新數(shù)據(jù)操作所產(chǎn)生的代碼如下:UPDATE[FM].[dbo].[tbuserinfo]SET[userid]=<userid,bigint,>,[username]=<username,varchar(20),>,[userpwd]=<userpwd,varchar(20),>,[usertype]=<usertype,char(2),>,[userflag]=<userflag,char(1),>WHERE<搜索條件,,>22經(jīng)過總結(jié),UPDATE的語法格式如下:UPDATE表名SET{列名={表達式|DEFAULT|NULL}[,...n]}[WHERE<檢索條件表達式>]23更新記錄的規(guī)則如下:(1)如果對行的更新違反了某個約束,可者是與數(shù)據(jù)類型不一致,則取消該語句、返回錯誤、修改就不會發(fā)生。(2)當(dāng)UPDATE語句在表達式求值過程中遇到算術(shù)錯誤(溢出、被零除或域錯誤)時,則不進行更新。24(1)更新一行記錄中的某一列在4.1章節(jié)里,我們增加了用戶“李華”的基本信息,其中,李華的用戶類型為2(一般人員),由于實驗室有權(quán)限為財務(wù)管理人員的學(xué)生畢業(yè),現(xiàn)將財務(wù)管理人員的權(quán)限賦予李華,其中,0經(jīng)費本管理人員、1財務(wù)管理人員、2一般人員。具體的實現(xiàn)過程為:--打開實驗室財務(wù)管理系統(tǒng)USEFMGO--更新數(shù)據(jù)UPDATEtbuserinfoSETusertype='1'WHEREusername='李華'GO252627練習(xí)使用SQL語句,向tbuserinfo表中插入一普通用戶,然后再將其權(quán)限變?yōu)槌売脩?8(2)更新一行記錄在用戶信息表內(nèi)插入一條數(shù)據(jù),但是由于不小心,只插入了用戶編號userid為16,現(xiàn)使用UPDATE語句完善用戶信息。--打開實驗室財務(wù)管理系統(tǒng)USEFMGO--增加用戶信息INSERTINTOtbuserinfo(userid)VALUES(16)GO--更新數(shù)據(jù)UPDATEtbuserinfosetusername='張欣',userpwd='ZX',usertype='2',userflag='1'whereuserid='16'2930練習(xí)首先在用戶表中插入userid為30,然后,再更新該用戶的信息,username為李剛,userpwd為:ligang,usertype為1,userflag為131(3)更新所有記錄中的某一列在用戶管理模塊內(nèi),有一個重置密碼的功能,如下圖4-11所示,用戶在忘記密碼時,將這一情況反映給經(jīng)費本管理人員,經(jīng)費本管理人員將該用戶的密碼設(shè)置為0。但是在系統(tǒng)調(diào)試好后,要把所有的用戶的密碼重置為0,讓用戶能夠登錄系統(tǒng),然后再由用戶修改密碼。3233所使用的SQL語句如下:--打開實驗室財務(wù)管理系統(tǒng)USEFMGO--重置密碼UPDATEtbuserinfosetuserpwd='0'GO3435任務(wù)將tbuserinfo表中,所有userflag為1的用戶的usertype設(shè)置為2364.3刪除記錄隨著數(shù)據(jù)庫的使用和對數(shù)據(jù)的修改,表中可能存在著一些無用的數(shù)據(jù),這些數(shù)據(jù)不僅占用存儲空間,還會影響修改和查詢的速度。為了提高數(shù)據(jù)庫的執(zhí)行效率,需要經(jīng)常對數(shù)據(jù)庫中的數(shù)據(jù)進行清理,對數(shù)據(jù)庫中不需要或是重復(fù)的數(shù)據(jù)進行刪除。

37在實驗室事件模塊里,如果用戶在此模塊新增了實驗室事件,在用戶還沒有提交的情況下,可以修改該事件的明細,如圖4-13所示。本部分將以刪除事件明細和FM數(shù)據(jù)庫中在4.1所創(chuàng)建的“在讀學(xué)生表”為例,說明刪除記錄的語法格式和基本操作方法。38394.3.1使用圖形工具刪除記錄404.3.2使用SQL語句刪除記錄41所產(chǎn)生的代碼如下:DELETEFROM表名WHERE<搜索條件,,>DELETE是刪除的關(guān)鍵詞,表明該操作的性質(zhì);FROM表示要刪除行來自的表;WHERE后面跟搜索條件,作用是指定待刪除的記錄應(yīng)當(dāng)滿足的條件,當(dāng)WHERE子句省略時,則刪除表中的所有記錄。42刪除記錄的規(guī)則如下:(1)如果DELETE語句在刪除數(shù)據(jù)的時候,違反了某個約束,則會導(dǎo)致操作失敗。如果使用DELETE語句刪除了多行,而在刪除的行中有任何一行違反某個約束或規(guī)則,則將取消該條語句的執(zhí)行,返回錯誤且不刪除任何行。(2)若是沒有指定WHERE條件,則刪除表中的所有行。(3)如果DELETE語句存在算術(shù)錯誤,如溢出、被零除等,數(shù)據(jù)庫引擎將處理這些錯誤。43(1)刪除一條記錄刪除事件明細界面,我們可以清楚的看到要刪除表tbedetail中一條記錄,經(jīng)過查找,該記錄所對應(yīng)的實驗室編號(ed_id)為38,刪除的SQL代碼為:--打開實驗室財務(wù)管理系統(tǒng)USEFMGO--刪除數(shù)據(jù)DELETEFROMtbedetailWHEREed_id=38GO44練習(xí)刪除tbedetail表中ed_id為10的事件明細45(2)刪除多條記錄在“在讀學(xué)生表”內(nèi)存儲的是還沒有畢業(yè)學(xué)生的信息,他們的權(quán)限有三種:0經(jīng)費本管理人員、1財務(wù)管理人員、2一般人員?,F(xiàn)在我們要將所有一般人員

溫馨提示

  • 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

提交評論