院長信息查詢系統(tǒng)分析與設(shè)計(jì)_第1頁
院長信息查詢系統(tǒng)分析與設(shè)計(jì)_第2頁
院長信息查詢系統(tǒng)分析與設(shè)計(jì)_第3頁
院長信息查詢系統(tǒng)分析與設(shè)計(jì)_第4頁
院長信息查詢系統(tǒng)分析與設(shè)計(jì)_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

/院長信息查詢系統(tǒng)歐青目錄【論文摘要】 1【關(guān)鍵字】 11.選題背景 31.1.課題背景、意義和來源以及系統(tǒng)工具介紹 31.1.1.課題背景及意義 3.課題的來源 3.系統(tǒng)工具介紹 31.2.國內(nèi)外發(fā)展概況 41.3.探討內(nèi)容及須解決的關(guān)鍵問題 41.3.1.探討內(nèi)容 41.3.2.須要解決的關(guān)鍵問題 42.圖書館管理信息系統(tǒng)解決方案 52.1.方案內(nèi)容 52.2.1.方案的選擇 52.2.2.方案的技術(shù)實(shí)現(xiàn) 63.系統(tǒng)總體設(shè)計(jì) 73.1.系統(tǒng)總體設(shè)計(jì) 73.2.系統(tǒng)總體功能圖 83.3.數(shù)據(jù)庫設(shè)計(jì) 83.3.1.數(shù)據(jù)庫的選擇 83.3.2.數(shù)據(jù)庫設(shè)計(jì) 93.3.4.數(shù)據(jù)庫關(guān)系圖 104.圖書館管理信息系統(tǒng)的實(shí)現(xiàn)過程 114.1.系統(tǒng)結(jié)構(gòu) 114.2.登錄系統(tǒng)界面的設(shè)計(jì) 124.3.信息服務(wù)子系統(tǒng)的設(shè)計(jì) 124.4.管理和維護(hù)子系統(tǒng)的設(shè)計(jì) 155.開發(fā)過程遇到的問題及解決方法 206.結(jié)束語 21參考文獻(xiàn) 21【論文摘要】目前,我國第三代HIS尚處于發(fā)展階段,再加上臨床醫(yī)務(wù)人員對(duì)HIS所知很少,導(dǎo)致對(duì)原始醫(yī)療數(shù)據(jù)的再利用更少。因此,如何才能更有效、合理地利用HIS數(shù)據(jù),是今后HIS的發(fā)展方向之一。醫(yī)院信息綜合應(yīng)用系統(tǒng)以此為目的,旨在開發(fā)出一個(gè)全面、好用和科學(xué)的軟件系統(tǒng),為醫(yī)院領(lǐng)導(dǎo)和醫(yī)療工作者服務(wù)。實(shí)現(xiàn)對(duì)醫(yī)院人事、財(cái)務(wù)、醫(yī)療、科研教化、設(shè)備物質(zhì)和藥品等信息的查詢、更新和應(yīng)用。讓院長以及各主要領(lǐng)導(dǎo)更清楚的了解整個(gè)醫(yī)院的運(yùn)行狀況,為決策供應(yīng)依據(jù)。實(shí)現(xiàn)醫(yī)院資源的合理配置,提高醫(yī)院的運(yùn)行效率,最總獲得利益的最大化,對(duì)于醫(yī)院的信息化管理,可謂是意義重大?!娟P(guān)鍵字】院長、管理員、信息系統(tǒng)、數(shù)據(jù)庫、、sqlsever1.選題背景1.1.課題背景、意義和來源以及系統(tǒng)工具介紹1.1.1.課題背景及意義今日,隨著信息技術(shù)的發(fā)展,在醫(yī)院信息管理中運(yùn)用傳統(tǒng)的手工操作方式在現(xiàn)在這個(gè)數(shù)字化的時(shí)代已顯得極不適應(yīng),因此,工作人員和讀者對(duì)于運(yùn)用計(jì)算機(jī)來幫助協(xié)調(diào)和管理自身工作的需求正在逐步提高。隨著我國現(xiàn)代化技術(shù)的不斷提高和普及,醫(yī)院也在不斷的提高它的各個(gè)部門的管理質(zhì)量,對(duì)醫(yī)院人事、財(cái)務(wù)、醫(yī)療、科研教化、設(shè)備物質(zhì)和藥品等信息的查詢、更新和應(yīng)用。讓院長以及各主要領(lǐng)導(dǎo)更清楚的了解整個(gè)醫(yī)院的運(yùn)行狀況,為決策供應(yīng)依據(jù)。實(shí)現(xiàn)醫(yī)院資源的合理配置,提高醫(yī)院的運(yùn)行效率,最總獲得利益的最大化,對(duì)于醫(yī)院的信息化管理,可謂是意義重大。自從信息系統(tǒng)這一新興的管理方法引入我國,在我國企業(yè)管理中已有20多年的時(shí)間?,F(xiàn)在,信息系統(tǒng)已經(jīng)廣泛應(yīng)用于各行各業(yè)。因此在這樣的前提下,我選擇了“院長信息查詢系統(tǒng)”這樣一個(gè)較為普遍,同時(shí)又較為典型的課題。在當(dāng)今這樣一個(gè)科技高速發(fā)展的社會(huì)里,僅有理論學(xué)問是明顯不行的,所以,我希望通過開發(fā)這個(gè)系統(tǒng),能更好地把理論和實(shí)際結(jié)合起來,充分將自己所學(xué)的專業(yè)學(xué)問應(yīng)用于實(shí)踐之中,并在實(shí)踐中不斷充溢自己,提高自己的專業(yè)技能水平,以獲得更多的教益課題的來源本課題由本人和輔導(dǎo)老師提出,基于及SQLServer2005數(shù)據(jù)庫平臺(tái)開發(fā)院長信息查詢系統(tǒng),用于解決院長對(duì)信息的查詢,把握醫(yī)院的運(yùn)行狀況,實(shí)現(xiàn)資源的優(yōu)化配置。.系統(tǒng)工具介紹本系統(tǒng)的開發(fā)工具是用面對(duì)對(duì)象的進(jìn)行設(shè)計(jì)的。VisualBasic.NET是基于微軟.NETFramework之上的面對(duì)對(duì)象的編程語言。其在調(diào)試時(shí)是以說明型語言方式運(yùn)作,而輸出為EXE程序是是以編譯型語言方式運(yùn)作??梢钥醋魇荲isualBasic在.NetFramework平臺(tái)上的升級(jí)版本,增加了對(duì)面對(duì)對(duì)象的支持。大多的VB.Net程序員運(yùn)用VisualStudio.Net作為IDE(integrateddevelopmentenvironment).SharpDevelop是另一種可用的開源的IDE。1.2.國內(nèi)外發(fā)展概況目前,國際上大多數(shù)發(fā)達(dá)國家的醫(yī)院信息查詢基本上實(shí)現(xiàn)了電腦管理,尤其是那些較大型的醫(yī)院還接受了大型數(shù)據(jù)庫開發(fā)的軟件,部分大型醫(yī)院信息查詢也運(yùn)用Foxpro、SQLServer等。而基于Access數(shù)據(jù)庫的多數(shù)是中小型醫(yī)院。但在大多數(shù)不發(fā)達(dá)國家,基于cache數(shù)據(jù)庫的醫(yī)院信息應(yīng)用得很廣泛。而在中國,許多中小型醫(yī)院信息用的還是手工醫(yī)院信息管理,大多數(shù)醫(yī)院信息對(duì)計(jì)算機(jī)管理信息還沒有確定的相識(shí),雖然cache數(shù)據(jù)庫是發(fā)達(dá)國家主流的醫(yī)院信息數(shù)據(jù)庫,但基于SQLServer數(shù)據(jù)庫具有運(yùn)用便利、學(xué)習(xí)簡潔、易學(xué)易用的特點(diǎn),在發(fā)展中國發(fā)展較為成熟,所以基于SQLServer數(shù)據(jù)庫做的信息系統(tǒng)較為普遍。1.3.探討內(nèi)容及須解決的關(guān)鍵問題1.3.1.探討內(nèi)容課題探討的內(nèi)容是關(guān)于院長信息查詢系統(tǒng)的流通部子系統(tǒng),是院長信息查詢系統(tǒng)運(yùn)用計(jì)算機(jī)管理和實(shí)際運(yùn)用的具體體現(xiàn),可以讓大量的醫(yī)院信息得到合理的支配。該系統(tǒng)運(yùn)用的是2005,以SQLServer2005數(shù)據(jù)庫平臺(tái)進(jìn)行開發(fā)。1.3.2.須要解決的關(guān)鍵問題*用戶需求分析*系統(tǒng)整體規(guī)劃方案及設(shè)定*功能模塊的劃分及設(shè)定*利用SQLselect實(shí)現(xiàn)數(shù)據(jù)的連接*實(shí)現(xiàn)最終系統(tǒng)代碼的設(shè)計(jì)2.院長信息查詢系統(tǒng)解決方案2.1.方案內(nèi)容我們可以用兩層體系結(jié)構(gòu)作為院長信息查詢系統(tǒng)軟件解決方案的核心,它的基本思想是將院長操作的界面同管理人員的操作界面分別,把信息系統(tǒng)按功能劃分為用戶管理和維護(hù)、信息服務(wù)和信息查詢?nèi)髩K,分別放置在相同或不同的硬件平臺(tái)上。之后從需求動(dòng)身構(gòu)造數(shù)據(jù)庫表,然后再由數(shù)據(jù)庫表結(jié)合需求劃分系統(tǒng)功能模塊。這樣,就把一個(gè)大的系統(tǒng)分解成了幾個(gè)小系統(tǒng)。系統(tǒng)劃分了子系統(tǒng)后,下一步的工作是接著劃分子系統(tǒng)的小模塊。先考慮在進(jìn)入子系統(tǒng)時(shí)應(yīng)當(dāng)做什么,進(jìn)入系統(tǒng)之后又應(yīng)當(dāng)做什么,供應(yīng)哪些服務(wù)等。。2.2.方案論證2.2.1.方案的選擇兩層客戶機(jī)/服務(wù)器技術(shù)在結(jié)構(gòu)、開發(fā)環(huán)境、應(yīng)用平臺(tái)的開發(fā)方式上已經(jīng)特殊成熟。請(qǐng)求另一計(jì)算機(jī)為之服務(wù)的計(jì)算機(jī)稱為客戶機(jī)(Client).而處理數(shù)據(jù)庫的計(jì)算機(jī)稱為服務(wù)器(Server)??蛻魴C(jī)/服務(wù)器是將處理工作分散到工作站和服務(wù)器上去處理,服務(wù)器不僅負(fù)責(zé)存取數(shù)據(jù),還要對(duì)數(shù)據(jù)作確定的處理工作,這樣在數(shù)據(jù)發(fā)送給工作站之前即取得查詢結(jié)果集,從而在大部分狀況下可大大削減網(wǎng)絡(luò)傳輸?shù)拈_銷,因此,也減輕了工作處理負(fù)擔(dān),用戶只需關(guān)切界面的處理工作即可??蛻魴C(jī)/服務(wù)器系統(tǒng)的成功和否在很大程度上依靠于服務(wù)器。用戶越多,服務(wù)器的處理負(fù)擔(dān)越重,相應(yīng)服務(wù)器硬件性能也要跟得上,否則就會(huì)導(dǎo)致影響時(shí)間比本地型數(shù)據(jù)庫還要差的結(jié)果。客戶機(jī)運(yùn)行數(shù)據(jù)請(qǐng)求程序,并將這些請(qǐng)求傳送到服務(wù)器。由客戶機(jī)執(zhí)行的計(jì)算稱為前端處理。前端處理具有全部和供應(yīng)、操作和顯示數(shù)據(jù)相關(guān)的功能。C/S[1]數(shù)據(jù)庫應(yīng)用程序中客戶端的主要功能:●從用戶接收數(shù)據(jù)●處理應(yīng)用邏輯●生成數(shù)據(jù)庫請(qǐng)求●向服務(wù)器發(fā)送數(shù)據(jù)庫請(qǐng)求●從服務(wù)器接收結(jié)果并顯示結(jié)果在服務(wù)器上執(zhí)行的計(jì)算稱為后端處理。后端處理設(shè)備是一臺(tái)管理數(shù)據(jù)資源并執(zhí)行數(shù)據(jù)庫引擎功能(如存儲(chǔ)、操作和愛惜數(shù)據(jù))的計(jì)算機(jī)。C/S數(shù)據(jù)庫應(yīng)用程序中服務(wù)器端的主要功能:●從客戶機(jī)接收數(shù)據(jù)庫請(qǐng)求●處理數(shù)據(jù)庫請(qǐng)求●傳送結(jié)果給客戶機(jī)●執(zhí)行完整性檢查●供應(yīng)并行訪問限制●事務(wù)處理失敗后,執(zhí)行事務(wù)復(fù)原●優(yōu)化查詢和更新處理3.系統(tǒng)總體設(shè)計(jì)3.1.系統(tǒng)總體設(shè)計(jì)對(duì)于醫(yī)院信息查詢系統(tǒng)主要負(fù)責(zé)供應(yīng)的功能是指從醫(yī)院收集信息,并將信息錄入數(shù)據(jù)庫中,實(shí)現(xiàn)院長能便利快速的找到自己想要的信息。信息收集:從醫(yī)院的各個(gè)部門、科室收集所需的信息。信息錄入:將收集來的信息整合、分類錄入sql數(shù)據(jù)庫中。用戶管理:管理員實(shí)現(xiàn)對(duì)用戶的注冊(cè)、修改、刪除。用戶查詢信息:用戶通過平臺(tái)窗口查詢高效的查詢醫(yī)院的各方面的信息,并可以將信息打印輸出。3.2.系統(tǒng)總體功能圖院長綜合查詢信息系統(tǒng)刪除新用戶設(shè)置用戶權(quán)限更改注冊(cè)密碼更改登陸密碼藥品信息科教信息醫(yī)療信息人事信息刪除信息設(shè)置查詢?cè)洪L綜合查詢信息系統(tǒng)刪除新用戶設(shè)置用戶權(quán)限更改注冊(cè)密碼更改登陸密碼藥品信息科教信息醫(yī)療信息人事信息刪除信息設(shè)置查詢管理員管理員注冊(cè)新用戶財(cái)務(wù)信息增加信息注冊(cè)新用戶財(cái)務(wù)信息增加信息圖3-1總體功能圖3.3數(shù)據(jù)流程圖:管理員管理員添加、刪除信息醫(yī)療財(cái)務(wù)人事科教藥品設(shè)置更改密碼更改用戶權(quán)限更改密碼注冊(cè)新用戶刪除用戶用戶信息數(shù)據(jù)庫退出退出打印、復(fù)制、剪切輸出信息綜合數(shù)據(jù)庫查詢?cè)洪L退出打印、復(fù)制、剪切輸出信息綜合數(shù)據(jù)庫查詢?cè)洪L3.3.數(shù)據(jù)庫設(shè)計(jì)3.3.1.數(shù)據(jù)庫的選擇院長綜合查詢信息系統(tǒng)是一個(gè)小型的數(shù)據(jù)庫系統(tǒng)。在這里我們選擇SQLServer數(shù)據(jù)庫進(jìn)行開發(fā)。MicrosoftSQLServer是一種關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。關(guān)系模型是當(dāng)前最受歡迎的數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)檢索模型。全部的數(shù)據(jù)處理都涉及存儲(chǔ)和檢索數(shù)據(jù)的操作,MicrosoftSQLServer是作為一個(gè)組織內(nèi)部的全部數(shù)據(jù)的中心存儲(chǔ)器來設(shè)計(jì)的。組織中數(shù)據(jù)的關(guān)鍵特征強(qiáng)調(diào)了這一方法的重要性。在客戶機(jī)/服務(wù)器框架內(nèi),服務(wù)器數(shù)據(jù)庫也要求和服務(wù)器的通信組件集成,以便和客戶系統(tǒng)連接。MicrosoftSQLServer的客戶機(jī)/服務(wù)器運(yùn)用WindowsNT的內(nèi)置網(wǎng)絡(luò)組件。MicrosoftSQLServer還在其網(wǎng)絡(luò)組件的頂部添加了服務(wù)特有的中介組件:開放式數(shù)據(jù)庫連接(OpenDatabaseConnectivity,ODBC)能使不同客戶機(jī)進(jìn)行相互連接,而不要求變更服務(wù)器及其他現(xiàn)存客戶應(yīng)用程序。3.3.2.數(shù)據(jù)庫設(shè)計(jì)表名屬性說明表TestZhanghu,mima表Book主要存儲(chǔ)關(guān)于用戶的信息,表Test2Glyonghu,glmima表test2主要存儲(chǔ)關(guān)于管理員的信息,(其他由于醫(yī)院信息表過于繁多就不一一列舉)圖3-1數(shù)據(jù)庫表對(duì)象4.圖書館管理信息系統(tǒng)的實(shí)現(xiàn)過程4.1.系統(tǒng)結(jié)構(gòu)我們用兩層體系結(jié)構(gòu)作為院長綜合查詢信息系統(tǒng)軟件解決方案的核心,把信息系統(tǒng)按功能劃分為管理和維護(hù)、信息服務(wù)和信息查詢?nèi)髩K,分別放置在相同或不同的硬件平臺(tái)上,并將系統(tǒng)的操作人員劃分為兩類:管理員,用戶。登陸登陸用戶登陸管理員登陸用戶登陸管理員登陸否否用戶、密碼是否正確用戶、密碼是否正確否否用戶、密碼是否正確用戶、密碼是否正確是是是是進(jìn)入查詢界面進(jìn)入管理員界面進(jìn)入查詢界面進(jìn)入管理員界面管理員管理用戶管理管理員管理用戶管理查詢信息查詢信息打印信息打印信息管理員注冊(cè)修改用戶密碼刪除用戶用戶表管理員表修改管理員密碼刪除管理員用戶注冊(cè)管理員注冊(cè)修改用戶密碼刪除用戶用戶表管理員表修改管理員密碼刪除管理員用戶注冊(cè)退出退出4.2.登錄系統(tǒng)界面的設(shè)計(jì)從列表框里選擇用戶,此列表框內(nèi)的用戶干脆和數(shù)據(jù)庫里工作人員的表相關(guān)聯(lián)。輸入密碼。推斷該密碼和工作人員表中定義的密碼是否相符。假如不正確,提示輸入正確的信息。假如正確,用戶登錄對(duì)于登陸界面的代碼如下:DimsqlConnection1AsSqlClient.SqlConnectionDimsqlConnectAsString="Server=DELL-PC\SQLEXPRESS;database=his;uid=ouqing;pwd=123;"'“server=計(jì)算機(jī)名;database=數(shù)據(jù)庫名;uid=登錄數(shù)據(jù)庫用戶名;pwd=登錄數(shù)據(jù)庫密碼”sqlConnection1=NewSystem.Data.SqlClient.SqlConnection(sqlConnect)sqlConnection1.Open()DimrsAsNewADODB.RecordsetClassIfTextBox1.Text=""OrLen(TextBox1.Text)>10ThenDimzAsStringz=MsgBox("請(qǐng)輸入用戶名,不能超過個(gè)字符!",vbOKCancel+vbInformation,"提示")TextBox1.Text=""ExitSubEndIfIfTextBox2.Text=""OrLen(TextBox2.Text)>10ThenDimbAsStringb=MsgBox("請(qǐng)輸入密碼,不能超過個(gè)字符!",vbOKCancel+vbInformation,"提示")TextBox2.Text=""ExitSubEndIfIfInStr(Me.TextBox2.Text,"'")OrInStr(Me.TextBox1.Text,"'")Then'假如文本框或者里面含有‘這個(gè)符號(hào)提示非法字符MsgBox("密碼中存在非法字符,請(qǐng)重新輸入。",MsgBoxStyle.Information,"提示!")Me.TextBox1.Text=""Me.TextBox2.Text=""ExitSubEndIfsqlConnection1.Close()sqlConnection1.Open()DimsqlcomAsNewSqlCommand'這里,你用這個(gè)方法來取表的數(shù)據(jù)。假如用戶有意輸入一個(gè)'你的sql語句就會(huì)出錯(cuò)。sqlcom.CommandText="select*fromtestwherezhanghu='"&Me.TextBox1.Text&"'andmima='"&Me.TextBox2.Text&"'"sqlcom.Connection=sqlConnection1DimmydsAsNewDataSetDimmyadapterAsNewSqlDataAdaptermyadapter.SelectCommand=sqlcommyadapter.Fill(myds,"test")DimcmAsNewSqlCommand("selectcount(*)fromtestwherezhanghu='"&TextBox1.Text&"'",sqlConnection1)DimcountAsInteger=cm.ExecuteScalarIfcount>0ThenIfmyds.Tables("test").Rows.Count=0ThenMsgBox("密碼錯(cuò)誤,請(qǐng)重新輸入。",MsgBoxStyle.Information,"提示")Me.TextBox2.Text=""sqlConnection1.Close()ExitSubEndIfForm4.Show()Me.Hide()ElseMsgBox("賬號(hào)不存在,請(qǐng)重新輸入!")Me.TextBox1.Text=""Me.TextBox2.Text=""ExitSubEndIf'連接數(shù)據(jù)庫EndSub管理員界面的設(shè)計(jì)關(guān)于修改用戶密碼界面的設(shè)計(jì)代碼如下:PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.ClickDimrsAsNewADODB.RecordsetClassIfTextBox1.Text=""OrLen(TextBox1.Text)>10ThenDimzAsStringz=MsgBox("請(qǐng)輸入用戶名,不能超過個(gè)字符!",vbOKCancel+vbInformation,"提示")TextBox1.Text=""ExitSubEndIfIfTextBox2.Text=""OrLen(TextBox2.Text)>10ThenDimbAsStringb=MsgBox("請(qǐng)輸入原密碼,不能超過個(gè)字符!",vbOKCancel+vbInformation,"提示")TextBox2.Text=""ExitSubEndIfIfTextBox3.Text=""OrLen(TextBox3.Text)>10ThenDimcAsStringc=MsgBox("請(qǐng)輸入新密碼,不能超過個(gè)字符!",vbOKCancel+vbInformation,"提示")TextBox3.Text=""ExitSubEndIfIfTextBox4.Text=""OrLen(TextBox3.Text)>10ThenDimcAsStringc=MsgBox("請(qǐng)輸入新密碼,不能超過個(gè)字符!",vbOKCancel+vbInformation,"提示")TextBox4.Text=""ExitSubEndIfIfTextBox3.Text<>TextBox4.TextThenDimdAsStringd=MsgBox("對(duì)不起,兩次輸入的密碼不一樣!",vbOKCancel+vbInformation,"提示")TextBox3.Text=""TextBox4.Text=""EndIfDimsqlConnection1AsSqlClient.SqlConnectionDimsqlConnectAsString="Server=DELL-PC\SQLEXPRESS;database=his;uid=ouqing;pwd=123;"'“server=計(jì)算機(jī)名;database=數(shù)據(jù)庫名;uid=登錄數(shù)據(jù)庫用戶名;pwd=登錄數(shù)據(jù)庫密碼”sqlConnection1=NewSystem.Data.SqlClient.SqlConnection(sqlConnect)sqlConnection1.Open()IfInStr(Me.TextBox2.Text,"'")OrInStr(Me.TextBox3.Text,"'")Then'假如文本框或者里面含有‘這個(gè)符號(hào)提示非法字符MsgBox("密碼中存在非法字符,請(qǐng)重新輸入。",MsgBoxStyle.Information,"提示!")Me.TextBox1.Text=""Me.TextBox2.Text=""ExitSubEndIfsqlConnection1.Close()sqlConnection1.Open()DimsqlcomAsNewSqlCommand'這里,你用這個(gè)方法來取表的數(shù)據(jù)。假如用戶有意輸入一個(gè)'你的sql語句就會(huì)出錯(cuò)。sqlcom.CommandText="select*fromtestwherezhanghu='"&Me.TextBox1.Text&"'andmima='"&Me.TextBox2.Text&"'"sqlcom.Connection=sqlConnection1DimmydsAsNewDataSetDimmyadapterAsNewSqlDataAdaptermyadapter.SelectCommand=sqlcommyadapter.Fill(myds,"test")DimcmAsNewSqlCommand("selectcount(*)fromtestwherezhanghu='"&TextBox1.Text&"'",sqlConnection1)DimcountAsInteger=cm.ExecuteScalarDimresult=NewDialogResult()result=MessageBox.Show("你確定要修改您的密碼嗎?","修改賬號(hào)提示",MessageBoxButtons.YesNo,MessageBoxIcon.Question)Ifresult=Windows.Forms.DialogResult.YesThenIfcount>0ThenIfmyds.Tables("test").Rows.Count=0ThenMsgBox("原始密碼錯(cuò)誤,請(qǐng)重新輸入。",MsgBoxStyle.Information,"提示")Me.TextBox2.Text=""sqlConnection1.Close()ExitSubEndIfDimOpendlgAsNewOpenFileDialogDimsqlcommAsNewSqlCommandsqlcomm.CommandText="Updatetestsetmima=@mimawherezhanghu='"&Me.TextBox1.Text&"'"sqlcomm.Connection=sqlConnection1Dimprm1AsNewSqlParameter("@mima",Me.TextBox3.Text)sqlcomm.Parameters.Add(prm1)Trysqlcomm.ExecuteNonQuery()'執(zhí)行插入語句sqlConnection1.Close()CatchexAsExceptionsqlConnection1.Close()MsgBox(ex.Message)ExitSubEndTryMsgBox("密碼修改成功!",MsgBoxStyle.Information,"提示")Me.TextBox2.Text=""Me.TextBox3.Text=""Me.TextBox4.Text=""ElseMsgBox("賬號(hào)不存在,請(qǐng)重新輸入!")Me.TextBox2.Text=""Me.TextBox3.Text=""Me.TextBox4.Text=""ExitSubEndIfElseMe.TextBox2.Text=""Me.TextBox3.Text=""Me.TextBox4.Text=""ExitSubEndIfEndSub用戶查詢界面的設(shè)計(jì)關(guān)于表名查詢的代碼如下:DimstrConnectionAsString="Server=DELL-PC\SQLEXPRESS;database=renshi;uid=ouqing;pwd=123;"DimsqlConnection1AsNewSqlConnection(strConnection)DimdataAdapterAsNewSqlDataAdapterDimdstAsNewDataSetDimdtAsNewDataTablesqlConnection1.Open()'打開數(shù)據(jù)庫IfCheckBox1.Checked=TrueAndTextBox1.Text=""ThenDimsqlAsString="selectnamefromsys.tablesorderbymodify_datedesc"DimcmdAsSqlCommand=NewSqlCommand(sql,sqlConnection1)dataAdapter.SelectCommand=cmddataAdapter.Fill(dst,"name")dt=dst.Tables("name")sqlConnection1.Close()'關(guān)閉數(shù)據(jù)庫DataGridView1.AutoGenerateColumns=True'自動(dòng)創(chuàng)建列DataGridView1.DataSource=dtDataGridView1.Refresh()ElseDimsqlAsString="selectnameFromsys.tableswherenamelike'%"&TextBox1.Text&"%'"DimcmdAsSqlCommand=NewSqlCommand(sql,sqlConnection1)dataAdapter.SelectCommand=cmddataAdapter.Fill(dst,"name")dt=dst.Tables("name")sqlConnection1.Close()'關(guān)閉數(shù)據(jù)庫DataGridView1.AutoGenerateColumns=True'自動(dòng)創(chuàng)建列DataGridView1.DataSource=dtEndIf關(guān)于實(shí)現(xiàn)查詢表內(nèi)容的代碼如下:shadow=DataGridView1.SelectedRows(0).Cells(0).ValueIfDataGridView1.SelectedRows.Count>0ThenDimname=DataGridView1.SelectedRows(0).Cells(0).ValueDimstrConnectionAsString="Server=DELL-PC\SQLEXPRESS;database=renshi;uid=ouqing;pwd=123;"DimsqlConnection1AsNewSqlConnection(strConnection)DimdataAdapterAsNewSqlDataAdapterDimdstAsNewDataSetDimdtAsNewDataTablesqlConnection1.Open()'打開數(shù)據(jù)庫DimobjSqlCommandAsSqlCommandDimsqlAsStringsql="select*from"&name&""objSqlCommand=NewSqlCommand(sql,sqlConnection1)DimobjSqlDataAdapterAsSqlDataAdapterobjSqlDataAdapter=NewSqlDataAdapter(objSqlCommand)DimobjDataSetAsDataSetobjDataSet=NewDataSet()objSqlDataAdapter.Fill(objDataSet,"庫存表")DataGridView2.DataSource=objDataSet.Tables("庫存表")DataGridView2.Refresh()sqlConnection1.Close()'關(guān)閉數(shù)據(jù)庫ElseMsgBox("沒有選著修改項(xiàng)")EndIf關(guān)于實(shí)現(xiàn)關(guān)鍵字查詢的代碼如下:IfTextBox2.Text=""ThenDimzAsStringz=MsgBox("請(qǐng)輸入姓名、編號(hào)關(guān)鍵字!",vbOKCancel+vbInformation,"提示")ExitSubElseDimstrConnectionAsString="Server=DELL-PC\SQLEXPRESS;database=renshi;uid=ouqing;pwd=123;"DimsqlConnection1AsNewSqlConnection(strConnection)DimdataAdapterAsNewSqlDataAdapterDimdstAsNewDataSetDimdtAsNewDataTablesqlConnection1.Open()'打開數(shù)據(jù)庫DimobjSqlCommandAsSqlCommandDimsqlAsStringsql="select*from"&shadow&"where編號(hào)like'%"&TextBox2.Text&"%'or姓名like'%"&TextBox2.Text&"%'"依據(jù)全部表具有的共同字段查詢objSqlCommand=NewSqlCommand(sql,sqlConnection1)DimobjSqlDataAdapterAsSqlDataAdapterobjSqlDataAdapter=NewSqlDataAdapter(objSqlCommand)DimobjDataSetAsDataSetobjDataSet=NewDataSet()objSqlDataAdapter.Fill(objDataSet,"庫存表")DataGridView2.DataSource=objDataSet.Tables("庫存表")DataGridView2.Refresh()sqlConnection1.Close()'關(guān)閉數(shù)據(jù)庫EndIfEndSub關(guān)于實(shí)現(xiàn)表的打印代碼如下:首先創(chuàng)建一個(gè)類:ImportsImportsImportsSystem.DrawingImportsSystem.CollectionsImportsSystem.DataImportsSystem.TextNamespaceDgPrintPublicClassPrintServicePrivateStrFormatAsStringFormat'單元格內(nèi)容PrivateRowPosAsInteger'當(dāng)前打印行PrivateNewPageAsBoolean'推斷是否為新頁P(yáng)rivatePageNoAsInteger'打印頁數(shù)PrivateCellHeightAsInteger'打印的單元格高度PrivateRowsPerPageAsInteger'每頁的行數(shù)PrivateprintDocAsNewSystem.Drawing.Printing.PrintDocument()'用于打印的PrintDocumentObjectPrivateColumnLeftsAsNewArrayList()'列的左坐標(biāo)PrivateColumnWidthsAsNewArrayList()'列的寬度PrivatePrintTitleAsString=""'標(biāo)題PrivateAvailableColumnsAsNewList(OfString)()'datagridview中可見的列PrivateHeaderHeightAsInteger=0PrivategridAsDataGridView'打印PublicSubPrint(ByValgridAsDataGridView,ByValTitleAsString)DimppvwAsPrintPreviewDialogTryMe.grid=grid'獲得要打印的datagridviewAvailableColumns.Clear()'獲得中全部可見的列標(biāo)題ForEachcAsDataGridViewColumnIngrid.ColumnsIfc.Visible=TrueThenAvailableColumns.Add(c.HeaderText)EndIfNext'顯示打印屬性窗體PrintTitle=TitleRowsPerPage=0printDoc.DocumentName=""DimdiaAsNewPrintDialog()dia.PrintToFile=Falsedia.Document=printDocdia.UseEXDialog=TrueIfdia.ShowDialog()<>DialogResult.OKThenReturnEndIfppvw=NewPrintPreviewDialog()ppvw.WindowState=FormWindowState.Maximizedppvw.Document=printDoc'顯示打印預(yù)覽AddHandlerprintDoc.BeginPrint,NewSystem.Drawing.Printing.PrintEventHandler(AddressOfPrintGridDoc_BeginPrint)AddHandlerprintDoc.PrintPage,NewSystem.Drawing.Printing.PrintPageEventHandler(AddressOfPrintGridDoc_PrintPage)Ifppvw.ShowDialog()<>DialogResult.OKThenRemoveHandlerprintDoc.BeginPrint,NewSystem.Drawing.Printing.PrintEventHandler(AddressOfPrintGridDoc_BeginPrint)RemoveHandlerprintDoc.PrintPage,NewSystem.Drawing.Printing.PrintPageEventHandler(AddressOfPrintGridDoc_PrintPage)ReturnEndIf'打印文件printDoc.Print()RemoveHandlerprintDoc.BeginPrint,NewSystem.Drawing.Printing.PrintEventHandler(AddressOfPrintGridDoc_BeginPrint)RemoveHandlerprintDoc.PrintPage,NewSystem.Drawing.Printing.PrintPageEventHandler(AddressOfPrintGridDoc_PrintPage)CatchexAsExceptionEndTryEndSubPrivateSubPrintGridDoc_BeginPrint(ByValsenderAsObject,ByValeAsSystem.Drawing.Printing.PrintEventArgs)TryStrFormat=NewStringFormat()StrFormat.Alignment=StringAlignment.Center'居中StrFormat.LineAlignment=StringAlignment.CenterStrFormat.Trimming=StringTrimming.EllipsisCharacterColumnLefts.Clear()ColumnWidths.Clear()CellHeight=0RowsPerPage=0PageNo=1NewPage=TrueRowPos=0CatchexAsExceptionEndTryEndSubPrivateSubPrintGridDoc_PrintPage(ByValsenderAsObject,ByValeAsSystem.Drawing.Printing.PrintPageEventArgs)DimtmpWidthAsInteger,iAsIntegerDimtmpTopAsIntegerDimtmpLeftAsIntegerDimfontAsNewFont("宋體",9)Dimfont_BTAsNewFont("宋體",18)Dimfont_CAsNewFont("宋體",12)TryIfPageNo=1ThenForEachGridColAsDataGridViewColumnIngrid.ColumnsIfGridCol.VisibleThen'獲得列的寬度及高度tmpWidth=GridCol.WidthHeaderHeight=33'獲得列的寬度、高度及類型ColumnLefts.Add(tmpLeft)ColumnWidths.Add(tmpWidth)tmpLeft+=tmpWidthEndIfNextEndIf'逐行打印當(dāng)前頁WhileRowPos<grid.Rows.Count-1DimGridRowAsDataGridViewRow=grid.Rows(RowPos)CellHeight=22'當(dāng)前頁能否打印完剩余行?IftmpTop+CellHeight>=e.MarginBounds.Height+e.MarginBounds.TopThen'不能DrawGridFooter(e,RowsPerPage)NewPage=TruePageNo+=1e.HasMorePages=TrueReturnElseIfNewPageThen'打印標(biāo)題e.Graphics.DrawString(PrintTitle,NewFont(font_BT,FontStyle.Bold),Brushes.Black,e.MarginBounds.Width-e.Graphics.MeasureString(PrintTitle,NewFont(font_BT,FontStyle.Bold),e.MarginBounds.Width).Width,e.MarginBounds.Top-e.Graphics.MeasureString(PrintTitle,NewFont(font_BT,FontStyle.Bold),e.MarginBounds.Width).Height-13,StrFormat)DimsAsString=DateTime.Now.ToLongDateString()&""&DateTime.Now.ToShortDateString()e.Graphics.DrawString(s&"統(tǒng)計(jì)",NewFont(font,FontStyle.Bold),Brushes.Black,e.MarginBounds.Left+(e.MarginBounds.Width-1.5*e.Graphics.MeasureString(s,NewFont(font,FontStyle.Bold),e.MarginBounds.Width).Width),e.MarginBounds.Top-e.Graphics.MeasureString(PrintTitle,NewFont(NewFont(font,FontStyle.Bold),FontStyle.Bold),e.MarginBounds.Width).Height-13)'打印列i=0ForEachGridColAsDataGridViewColumnIngrid.ColumnsIfGridCol.Visible=TrueThene.Graphics.FillRectangle(NewSolidBrush(Color.LightGray),NewRectangle(CInt(ColumnLefts(i)),tmpTop,CInt(ColumnWidths(i)),HeaderHeight))e.Graphics.DrawRectangle(Pens.Black,NewRectangle(CInt(ColumnLefts(i)),tmpTop,CInt(ColumnWidths(i)),HeaderHeight))e.Graphics.DrawString(GridCol.HeaderText,NewFont(font_C,FontStyle.Bold),NewSolidBrush(Color.Black),NewRectangleF(CInt(ColumnLefts(i)),tmpTop,CInt(ColumnWidths(i)),HeaderHeight),StrFormat)i+=1EndIfNextNewPage=FalsetmpTop+=HeaderHeightEndIf

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論