![院長(zhǎng)信息查詢(xún)系統(tǒng)分析與設(shè)計(jì)_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/18/8b7e21f3-6b94-4758-ab41-019f65e0e142/8b7e21f3-6b94-4758-ab41-019f65e0e1421.gif)
![院長(zhǎng)信息查詢(xún)系統(tǒng)分析與設(shè)計(jì)_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/18/8b7e21f3-6b94-4758-ab41-019f65e0e142/8b7e21f3-6b94-4758-ab41-019f65e0e1422.gif)
![院長(zhǎng)信息查詢(xún)系統(tǒng)分析與設(shè)計(jì)_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/18/8b7e21f3-6b94-4758-ab41-019f65e0e142/8b7e21f3-6b94-4758-ab41-019f65e0e1423.gif)
![院長(zhǎng)信息查詢(xún)系統(tǒng)分析與設(shè)計(jì)_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/18/8b7e21f3-6b94-4758-ab41-019f65e0e142/8b7e21f3-6b94-4758-ab41-019f65e0e1424.gif)
![院長(zhǎng)信息查詢(xún)系統(tǒng)分析與設(shè)計(jì)_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/18/8b7e21f3-6b94-4758-ab41-019f65e0e142/8b7e21f3-6b94-4758-ab41-019f65e0e1425.gif)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、歐青目 錄【論文摘要】1【關(guān)鍵字】11. 選題背景31.1. 課題背景、意義和來(lái)源以及系統(tǒng)工具介紹31.1.1. 課題背景及意義3. 課題的來(lái)源3. 系統(tǒng)工具介紹3. 國(guó)內(nèi)外發(fā)展概況4. 研究?jī)?nèi)容及須解決的關(guān)鍵問(wèn)題41.3.1. 研究?jī)?nèi)容41.3.2. 需要解決的關(guān)鍵問(wèn)題42. 圖書(shū)館管理信息系統(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ù)庫(kù)設(shè)計(jì)83.3.1. 數(shù)據(jù)庫(kù)的選擇83.3.2. 數(shù)據(jù)庫(kù)設(shè)計(jì)93.3.4. 數(shù)據(jù)庫(kù)關(guān)系圖104. 圖書(shū)館管理信息系統(tǒng)的實(shí)現(xiàn)過(guò)程114
2、.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. 開(kāi)發(fā)過(guò)程遇到的問(wèn)題及解決方法206. 結(jié)束語(yǔ)21參考文獻(xiàn)21【論文摘要】目前, 我國(guó)第三代HIS 尚處于發(fā)展階段, 再加上臨床醫(yī)務(wù)人員對(duì)HIS所知很少, 導(dǎo)致對(duì)原始醫(yī)療數(shù)據(jù)的再利用更少。因此, 如何才能更有效、合理地利用HIS 數(shù)據(jù), 是今后HIS 的發(fā)展方向之一。醫(yī)院信息綜合應(yīng)用系統(tǒng)以此為目的, 旨在開(kāi)發(fā)出一個(gè)全面、實(shí)用和科學(xué)的軟件系統(tǒng), 為醫(yī)院領(lǐng)導(dǎo)和醫(yī)療工作者服務(wù)。實(shí)現(xiàn)對(duì)醫(yī)院人事、財(cái)務(wù)、醫(yī)療、科研教育、設(shè)備物質(zhì)和藥品等信息的查詢(xún)、更新和應(yīng)用。讓院長(zhǎng)以及各主要領(lǐng)導(dǎo)更
3、清楚的了解整個(gè)醫(yī)院的運(yùn)行情況,為決策提供依據(jù)。實(shí)現(xiàn)醫(yī)院資源的合理配置,提高醫(yī)院的運(yùn)行效率,最總獲得利益的最大化,對(duì)于醫(yī)院的信息化管理,可謂是意義重大?!娟P(guān)鍵字】院長(zhǎng)、管理員、信息系統(tǒng)、數(shù)據(jù)庫(kù)、sql sever1. 選題背景1.1. 課題背景、意義和來(lái)源以及系統(tǒng)工具介紹1.1.1. 課題背景及意義今天,隨著信息技術(shù)的發(fā)展,在醫(yī)院信息管理中運(yùn)用傳統(tǒng)的手工操作方式在現(xiàn)在這個(gè)數(shù)字化的時(shí)代已顯得極不適應(yīng),因此,工作人員和讀者對(duì)于運(yùn)用計(jì)算機(jī)來(lái)輔助協(xié)調(diào)和管理自身工作的需求正在逐步提高。隨著我國(guó)現(xiàn)代化技術(shù)的不斷提高和普及,醫(yī)院也在不斷的提高它的各個(gè)部門(mén)的管理質(zhì)量,對(duì)醫(yī)院人事、財(cái)務(wù)、醫(yī)療、科研教育、設(shè)備物質(zhì)和
4、藥品等信息的查詢(xún)、更新和應(yīng)用。讓院長(zhǎng)以及各主要領(lǐng)導(dǎo)更清楚的了解整個(gè)醫(yī)院的運(yùn)行情況,為決策提供依據(jù)。實(shí)現(xiàn)醫(yī)院資源的合理配置,提高醫(yī)院的運(yùn)行效率,最總獲得利益的最大化,對(duì)于醫(yī)院的信息化管理,可謂是意義重大。自從信息系統(tǒng)這一新興的管理方法引入我國(guó),在我國(guó)企業(yè)管理中已有20多年的時(shí)間?,F(xiàn)在,信息系統(tǒng)已經(jīng)廣泛應(yīng)用于各行各業(yè)。因此在這樣的前提下,我選擇了“院長(zhǎng)信息查詢(xún)系統(tǒng)”這樣一個(gè)較為普遍,同時(shí)又較為典型的課題。在當(dāng)今這樣一個(gè)科技高速發(fā)展的社會(huì)里,僅有理論知識(shí)是顯然不行的,所以,我希望通過(guò)開(kāi)發(fā)這個(gè)系統(tǒng),能更好地把理論與實(shí)際結(jié)合起來(lái),充分將自己所學(xué)的專(zhuān)業(yè)知識(shí)應(yīng)用于實(shí)踐之中,并在實(shí)踐中不斷充實(shí)自己,提高自己的
5、專(zhuān)業(yè)技能水平,以獲取更多的教益. 課題的來(lái)源本課題由本人和輔導(dǎo)老師提出,基于及SQL Server 2005數(shù)據(jù)庫(kù)平臺(tái)開(kāi)發(fā)院長(zhǎng)信息查詢(xún)系統(tǒng),用于解決院長(zhǎng)對(duì)信息的查詢(xún),把握醫(yī)院的運(yùn)行狀況,實(shí)現(xiàn)資源的優(yōu)化配置。. 系統(tǒng)工具介紹本系統(tǒng)的開(kāi)發(fā)工具是用面向?qū)ο蟮倪M(jìn)行設(shè)計(jì)的。Visual Basic.NET是基于微軟.NET Framework之上的面向?qū)ο蟮木幊陶Z(yǔ)言。其在調(diào)試時(shí)是以解釋型語(yǔ)言方式運(yùn)作,而輸出為EXE程序是是以編譯型語(yǔ)言方式運(yùn)作??梢钥醋魇荲isual Basic在.Net Framework平臺(tái)上的升級(jí)版本,增強(qiáng)了對(duì)面向?qū)ο蟮闹С帧4蠖嗟腣B.Net程序員使用Visual Studio
6、.Net作為IDE(integrated development environment).SharpDevelop是另一種可用的開(kāi)源的IDE。. 國(guó)內(nèi)外發(fā)展概況目前,國(guó)際上大多數(shù)發(fā)達(dá)國(guó)家的醫(yī)院信息查詢(xún)基本上實(shí)現(xiàn)了電腦管理,尤其是那些較大型的醫(yī)院還采用了大型數(shù)據(jù)庫(kù)開(kāi)發(fā)的軟件,部分大型醫(yī)院信息查詢(xún)也使用Foxpro、SQL Server等。而基于Access數(shù)據(jù)庫(kù)的多數(shù)是中小型醫(yī)院。但在大多數(shù)不發(fā)達(dá)國(guó)家,基于cache 數(shù)據(jù)庫(kù)的醫(yī)院信息應(yīng)用得很廣泛。而在中國(guó),許多中小型醫(yī)院信息用的還是手工醫(yī)院信息管理,大多數(shù)醫(yī)院信息對(duì)計(jì)算機(jī)管理信息還沒(méi)有一定的認(rèn)識(shí),雖然cache 數(shù)據(jù)庫(kù)是發(fā)達(dá)國(guó)家主流的醫(yī)院信息
7、數(shù)據(jù)庫(kù),但基于SQL Server數(shù)據(jù)庫(kù)具有使用方便、學(xué)習(xí)簡(jiǎn)單、易學(xué)易用的特點(diǎn),在發(fā)展中國(guó)發(fā)展較為成熟,所以基于SQL Server數(shù)據(jù)庫(kù)做的信息系統(tǒng)較為普遍。. 研究?jī)?nèi)容及須解決的關(guān)鍵問(wèn)題1.3.1. 研究?jī)?nèi)容課題研究的內(nèi)容是關(guān)于院長(zhǎng)信息查詢(xún)系統(tǒng)的流通部子系統(tǒng),是院長(zhǎng)信息查詢(xún)系統(tǒng)運(yùn)用計(jì)算機(jī)管理和實(shí)際運(yùn)用的具體體現(xiàn),可以讓大量的醫(yī)院信息得到合理的安排。該系統(tǒng)使用的是,以SQL Server 2005數(shù)據(jù)庫(kù)平臺(tái)進(jìn)行開(kāi)發(fā)。1.3.2. 需要解決的關(guān)鍵問(wèn)題* 用戶(hù)需求分析* 系統(tǒng)整體規(guī)劃方案及設(shè)定* 功能模塊的劃分及設(shè)定* 利用SQL select 實(shí)現(xiàn)數(shù)據(jù)的連接* 實(shí)現(xiàn)最終系統(tǒng)代碼的設(shè)計(jì)2. 院長(zhǎng)
8、信息查詢(xún)系統(tǒng)解決方案2.1. 方案內(nèi)容我們可以用兩層體系結(jié)構(gòu)作為院長(zhǎng)信息查詢(xún)系統(tǒng)軟件解決方案的核心,它的基本思想是將院長(zhǎng)操作的界面同管理人員的操作界面分離,把信息系統(tǒng)按功能劃分為用戶(hù)管理和維護(hù)、信息服務(wù)和信息查詢(xún)?nèi)髩K,分別放置在相同或不同的硬件平臺(tái)上。之后從需求出發(fā)構(gòu)造數(shù)據(jù)庫(kù)表,然后再由數(shù)據(jù)庫(kù)表結(jié)合需求劃分系統(tǒng)功能模塊。這樣,就把一個(gè)大的系統(tǒng)分解成了幾個(gè)小系統(tǒng)。系統(tǒng)劃分了子系統(tǒng)后,下一步的工作是繼續(xù)劃分子系統(tǒng)的小模塊。先考慮在進(jìn)入子系統(tǒng)時(shí)應(yīng)該做什么,進(jìn)入系統(tǒng)之后又應(yīng)該做什么,提供哪些服務(wù)等。2.2. 方案論證2.2.1. 方案的選擇兩層客戶(hù)機(jī)/服務(wù)器技術(shù)在結(jié)構(gòu)、開(kāi)發(fā)環(huán)境、應(yīng)用平臺(tái)的開(kāi)發(fā)方式上
9、已經(jīng)非常成熟。請(qǐng)求另一計(jì)算機(jī)為之服務(wù)的計(jì)算機(jī)稱(chēng)為客戶(hù)機(jī)(Client).而處理數(shù)據(jù)庫(kù)的計(jì)算機(jī)稱(chēng)為服務(wù)器(Server)。客戶(hù)機(jī)/服務(wù)器是將處理工作分散到工作站和服務(wù)器上去處理,服務(wù)器不僅負(fù)責(zé)存取數(shù)據(jù),還要對(duì)數(shù)據(jù)作一定的處理工作,這樣在數(shù)據(jù)發(fā)送給工作站之前即取得查詢(xún)結(jié)果集,從而在大部分情況下可大大減少網(wǎng)絡(luò)傳輸?shù)拈_(kāi)銷(xiāo),因此,也減輕了工作處理負(fù)擔(dān),用戶(hù)只需關(guān)心界面的處理工作即可??蛻?hù)機(jī)/服務(wù)器系統(tǒng)的成功與否在很大程度上依賴(lài)于服務(wù)器。用戶(hù)越多,服務(wù)器的處理負(fù)擔(dān)越重,相應(yīng)服務(wù)器硬件性能也要跟得上,否則就會(huì)導(dǎo)致影響時(shí)間比本地型數(shù)據(jù)庫(kù)還要差的結(jié)果??蛻?hù)機(jī)運(yùn)行數(shù)據(jù)請(qǐng)求程序,并將這些請(qǐng)求傳送到服務(wù)器。由客戶(hù)機(jī)執(zhí)
10、行的計(jì)算稱(chēng)為前端處理。前端處理具有所有與提供、操作和顯示數(shù)據(jù)相關(guān)的功能。C/S1數(shù)據(jù)庫(kù)應(yīng)用程序中客戶(hù)端的主要功能: 從用戶(hù)接收數(shù)據(jù) 處理應(yīng)用邏輯 生成數(shù)據(jù)庫(kù)請(qǐng)求 向服務(wù)器發(fā)送數(shù)據(jù)庫(kù)請(qǐng)求 從服務(wù)器接收結(jié)果并顯示結(jié)果在服務(wù)器上執(zhí)行的計(jì)算稱(chēng)為后端處理。后端處理設(shè)備是一臺(tái)管理數(shù)據(jù)資源并執(zhí)行數(shù)據(jù)庫(kù)引擎功能(如存儲(chǔ)、操作和保護(hù)數(shù)據(jù))的計(jì)算機(jī)。C/S數(shù)據(jù)庫(kù)應(yīng)用程序中服務(wù)器端的主要功能: 從客戶(hù)機(jī)接收數(shù)據(jù)庫(kù)請(qǐng)求 處理數(shù)據(jù)庫(kù)請(qǐng)求 傳送結(jié)果給客戶(hù)機(jī) 執(zhí)行完整性檢查 提供并行訪問(wèn)控制 事務(wù)處理失敗后,執(zhí)行事務(wù)恢復(fù) 優(yōu)化查詢(xún)和更新處理3. 系統(tǒng)總體設(shè)計(jì)3.1. 系統(tǒng)總體設(shè)計(jì)對(duì)于醫(yī)院信息查詢(xún)系統(tǒng)主要負(fù)責(zé)提供的功能是指從
11、醫(yī)院收集信息,并將信息錄入數(shù)據(jù)庫(kù)中,實(shí)現(xiàn)院長(zhǎng)能方便快速的找到自己想要的信息。(1) 信息收集:從醫(yī)院的各個(gè)部門(mén)、科室收集所需的信息。(2) 信息錄入:將收集來(lái)的信息整合、分類(lèi)錄入sql數(shù)據(jù)庫(kù)中。(3) 用戶(hù)管理:管理員實(shí)現(xiàn)對(duì)用戶(hù)的注冊(cè)、修改、刪除。(4) 用戶(hù)查詢(xún)信息:用戶(hù)通過(guò)平臺(tái)窗口查詢(xún)高效的查詢(xún)醫(yī)院的各方面的信息,并可以將信息打印輸出。3.2. 系統(tǒng)總體功能圖院長(zhǎng)綜合查詢(xún)信息系統(tǒng)刪除新用戶(hù)設(shè)置用戶(hù)權(quán)限更改注冊(cè)密碼更改登陸密碼藥品信息科教信息醫(yī)療信息人事信息刪除信息設(shè)置查詢(xún)管理員注冊(cè)新用戶(hù)財(cái)務(wù)信息增加信息圖3-1 總體功能圖 數(shù)據(jù)流程圖:管理員添加、刪除信息醫(yī)療財(cái)務(wù)人事科教藥品設(shè)置更改密碼更
12、改用戶(hù)權(quán)限更改密碼注冊(cè)新用戶(hù)刪除用戶(hù)用戶(hù)信息數(shù)據(jù)庫(kù)退出退出打印、復(fù)制、剪切輸出信息綜合數(shù)據(jù)庫(kù)查詢(xún)?cè)洪L(zhǎng)3.3. 數(shù)據(jù)庫(kù)設(shè)計(jì)3.3.1. 數(shù)據(jù)庫(kù)的選擇院長(zhǎng)綜合查詢(xún)信息系統(tǒng)是一個(gè)小型的數(shù)據(jù)庫(kù)系統(tǒng)。在這里我們選擇SQL Server 數(shù)據(jù)庫(kù)進(jìn)行開(kāi)發(fā)。Microsoft SQL Server 是一種關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)。關(guān)系模型是當(dāng)前最受歡迎的數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)檢索模型。所有的數(shù)據(jù)處理都涉及存儲(chǔ)和檢索數(shù)據(jù)的操作,Microsoft SQL Server是作為一個(gè)組織內(nèi)部的全部數(shù)據(jù)的中心存儲(chǔ)器來(lái)設(shè)計(jì)的。組織中數(shù)據(jù)的關(guān)鍵特征強(qiáng)調(diào)了這一方法的重要性。在客戶(hù)機(jī)/服務(wù)器框架內(nèi),服務(wù)器數(shù)據(jù)庫(kù)也要求與服務(wù)器的通信組件集成
13、,以便和客戶(hù)系統(tǒng)連接。Microsoft SQL Server的客戶(hù)機(jī)/服務(wù)器使用Windows NT的內(nèi)置網(wǎng)絡(luò)組件。Microsoft SQL Server還在其網(wǎng)絡(luò)組件的頂部添加了服務(wù)特有的中介組件:開(kāi)放式數(shù)據(jù)庫(kù)連接(Open Database Connectivity,ODBC)能使不同客戶(hù)機(jī)進(jìn)行相互連接,而不要求變更服務(wù)器及其他現(xiàn)存客戶(hù)應(yīng)用程序。3.3.2. 數(shù)據(jù)庫(kù)設(shè)計(jì)表名屬性說(shuō)明表TestZhanghu,mima表Book 主要存儲(chǔ)關(guān)于用戶(hù)的信息,表Test2Glyonghu,glmima表test2主要存儲(chǔ)關(guān)于管理員的信息,(其他由于醫(yī)院信息表過(guò)于繁多就不一一列舉)圖3-1 數(shù)據(jù)庫(kù)
14、表對(duì)象4. 圖書(shū)館管理信息系統(tǒng)的實(shí)現(xiàn)過(guò)程4.1. 系統(tǒng)結(jié)構(gòu)我們用兩層體系結(jié)構(gòu)作為院長(zhǎng)綜合查詢(xún)信息系統(tǒng)軟件解決方案的核心,把信息系統(tǒng)按功能劃分為管理和維護(hù)、信息服務(wù)和信息查詢(xún)?nèi)髩K,分別放置在相同或不同的硬件平臺(tái)上,并將系統(tǒng)的操作人員劃分為兩類(lèi):管理員,用戶(hù)。登陸用戶(hù)登陸管理員登陸否用戶(hù)、密碼是否正確否用戶(hù)、密碼是否正確是是進(jìn)入查詢(xún)界面進(jìn)入管理員界面管理員管理用戶(hù)管理查詢(xún)信息打印信息管理員注冊(cè)修改用戶(hù)密碼刪除用戶(hù)用戶(hù)表管理員表修改管理員密碼刪除管理員用戶(hù)注冊(cè)退出4.2. 登錄系統(tǒng)界面的設(shè)計(jì)1 從列表框里選擇用戶(hù),此列表框內(nèi)的用戶(hù)直接與數(shù)據(jù)庫(kù)里工作人員的表相關(guān)聯(lián)。2 輸入密碼。判斷該密碼與工作人員
15、表中定義的密碼是否相符。3 如果不正確,提示輸入正確的信息。4 如果正確,用戶(hù)登錄對(duì)于登陸界面的代碼如下:Dim sqlConnection1 AsDim sqlConnect AsString = "Server=DELL-PCSQLEXPRESS;database=his;uid=ouqing;pwd=123;"'“server=計(jì)算機(jī)名;database=數(shù)據(jù)庫(kù)名;uid=登錄數(shù)據(jù)庫(kù)用戶(hù)名;pwd=登錄數(shù)據(jù)庫(kù)密碼” sqlConnection1 = New System.Data.SqlClient.SqlConnection(sqlConnect) sqlC
16、onnection1.Open()Dim rs AsNewIf TextBox1.Text = ""Orext) > 10 ThenDim z AsString z = MsgBox("請(qǐng)輸入用戶(hù)名,不能超過(guò)個(gè)字符!", vbOKCancel + vbInformation, "提示") TextBox1.Text = ""ExitSubEndIfIf TextBox2.Text = ""Or Len(TextBox2.Text) > 10 ThenDim b AsString b
17、= MsgBox("請(qǐng)輸入密碼,不能超過(guò)個(gè)字符!", vbOKCancel + vbInformation, "提示") TextBox2.Text = ""ExitSubEndIfIf InStr(Me.TextBox2.Text, "'") Or InStr(Me.TextBox1.Text, "'") Then'如果文本框或者里面含有這個(gè)符號(hào)提示非法字符 MsgBox("密碼中存在非法字符,請(qǐng)重新輸入。", MsgBoxStyle.Informa
18、tion, "提示!")Me.TextBox1.Text = ""Me.TextBox2.Text = ""ExitSubEndIf sqlConnection1.Close() sqlConnection1.Open()Dim sqlcom AsNew SqlCommand'這里,你用這個(gè)方法來(lái)取表的數(shù)據(jù)。如果用戶(hù)故意輸入一個(gè)' 你的sql 語(yǔ)句就會(huì)出錯(cuò)。 sqlcom.CommandText = "select * from test where zhanghu='" & Me.
19、TextBox1.Text & "' and mima='" & Me.TextBox2.Text & "'" sqlcom.Connection = sqlConnection1Dim myds AsNew DataSetDim myadapter AsNew SqlDataAdapter myadapter.SelectCommand = sqlcom myadapter.Fill(myds, "test")Dim cm AsNew SqlCommand("select c
20、ount(*) from test where zhanghu ='" & TextBox1.Text & "'", sqlConnection1)Dim count AsIntegerIf count > 0 ThenIf myds.Tables("test").Rows.Count = 0 Then MsgBox("密碼錯(cuò)誤,請(qǐng)重新輸入。", MsgBoxStyle.Information, "提示")Me.TextBox2.Text = ""
21、 sqlConnection1.Close()ExitSubEndIf Form4.Show()Me.Hide()Else MsgBox("賬號(hào)不存在,請(qǐng)重新輸入!")Me.TextBox1.Text = ""Me.TextBox2.Text = ""ExitSubEndIf'連接數(shù)據(jù)庫(kù) EndSub4.3. 管理員界面的設(shè)計(jì)關(guān)于修改用戶(hù)密碼界面的設(shè)計(jì)代碼如下:PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
22、 HandlesDim rs AsNewIf TextBox1.Text = ""Or Len(TextBox1.Text) > 10 ThenDim z AsString z = MsgBox("請(qǐng)輸入用戶(hù)名,不能超過(guò)個(gè)字符!", vbOKCancel + vbInformation, "提示") TextBox1.Text = ""ExitSubEndIfIf TextBox2.Text = ""Or Len(TextBox2.Text) > 10 ThenDim b AsStr
23、ing b = MsgBox("請(qǐng)輸入原密碼,不能超過(guò)個(gè)字符!", vbOKCancel + vbInformation, "提示") TextBox2.Text =""ExitSubEndIfIf TextBox3.Text = ""Or Len(TextBox3.Text) > 10 ThenDim c AsString c = MsgBox("請(qǐng)輸入新密碼,不能超過(guò)個(gè)字符!", vbOKCancel + vbInformation, "提示") TextBox3.
24、Text = ""ExitSubEndIfIf TextBox4.Text = ""Or Len(TextBox3.Text) > 10 ThenDim c AsString c = MsgBox("請(qǐng)輸入新密碼,不能超過(guò)個(gè)字符!", vbOKCancel + vbInformation, "提示") TextBox4.Text = ""ExitSubEndIfIf TextBox3.Text <> TextBox4.Text ThenDim d AsString d = Ms
25、gBox("對(duì)不起,兩次輸入的密碼不一致!", vbOKCancel + vbInformation, "提示") TextBox3.Text = "" TextBox4.Text = ""EndIfDim sqlConnection1 As SqlCDim sqlConnect AsString = "Server=DELL-PCSQLEXPRESS;database=his;uid=ouqing;pwd=123;"'“server=計(jì)算機(jī)名;database=數(shù)據(jù)庫(kù)名;uid=登錄數(shù)
26、據(jù)庫(kù)用戶(hù)名;pwd=登錄數(shù)據(jù)庫(kù)密碼” sqlConnection1 = New System.Data.SqlClient.SqlConnection(sqlConnect) sqlConnection1.Open()If InStr(Me.TextBox2.Text, "'") Or InStr(Me.TextBox3.Text, "'") Then'如果文本框或者里面含有這個(gè)符號(hào)提示非法字符 MsgBox("密碼中存在非法字符,請(qǐng)重新輸入。", MsgBoxStyle.Information, "
27、提示!")Me.TextBox1.Text = ""Me.TextBox2.Text = ""ExitSubEndIf sqlConnection1.Close() sqlConnection1.Open()Dim sqlcom AsNew SqlCommand'這里,你用這個(gè)方法來(lái)取表的數(shù)據(jù)。如果用戶(hù)故意輸入一個(gè)' 你的sql 語(yǔ)句就會(huì)出錯(cuò)。 sqlcom.CommandText = "select * from test where zhanghu='" & Me.TextBox1.Tex
28、t & "' and mima='" & Me.TextBox2.Text & "'" sqlcom.Connection = sqlConnection1Dim myds AsNew DataSetDim myadapter AsNew SqlDataAdapter myadapter.SelectCommand = sqlcom myadapter.Fill(myds, "test")Dim cm AsNew SqlCommand("select count(*) from
29、 test where zhanghu ='" & TextBox1.Text & "'", sqlConnection1)Dim count AsIntegerDim result = New DialogResult() result = MessageBox.Show("你確定要修改您的密碼嗎?", "修改賬號(hào)提醒", MessageBoxButtons.YesNo, MessageBoxIcon.Question)If result = Windows.Forms.DialogResu
30、lt.Yes ThenIf count > 0 ThenIf myds.Tables("test").Rows.Count = 0 Then MsgBox("原始密碼錯(cuò)誤,請(qǐng)重新輸入。", MsgBoxStyle.Information, "提示")Me.TextBox2.Text = "" sqlConnection1.Close()ExitSubEndIfDim Opendlg AsNew OpenFileDialogDim sqlcomm AsNew SqlCommand sqlcomm.Command
31、Text = "Update test set mima=mima where zhanghu='" & Me.TextBox1.Text & "'" sqlcomm.Connection = sqlConnection1Dim prm1 AsNew SqlParameter("mima", Me.TextBox3.Text) sqlcomm.Parameters.Add(prm1)Try sqlcomm.ExecuteNonQuery() '執(zhí)行插入語(yǔ)句 sqlConnection1.Clos
32、e()Catch ex As Exception sqlConnection1.Close() MsgBox(ex.Message)ExitSubEndTry MsgBox("密碼修改成功!", MsgBoxStyle.Information, "提示")Me.TextBox2.Text = ""Me.TextBox3.Text = ""Me.TextBox4.Text = ""Else MsgBox("賬號(hào)不存在,請(qǐng)重新輸入!")Me.TextBox2.Text = &qu
33、ot;"Me.TextBox3.Text = ""Me.TextBox4.Text = ""ExitSubEndIfElseMe.TextBox2.Text = ""Me.TextBox3.Text = ""Me.TextBox4.Text = ""ExitSubEndIfEndSub4.4. 用戶(hù)查詢(xún)界面的設(shè)計(jì)關(guān)于表名查詢(xún)的代碼如下:Dim strConnection AsString = "Server=DELL-PCSQLEXPRESS;database=renshi;
34、uid=ouqing;pwd=123;"Dim sqlConnection1 AsNew SqlConnection(strConnection)Dim dataAdapter AsNew SqlDataAdapterDim dst AsNew DataSetDim dt AsNew DataTable sqlConnection1.Open() '打開(kāi)數(shù)據(jù)庫(kù) If CheckBox1.Checked = TrueAnd TextBox1.Text = ""ThenDim sql AsString = "select name from sys.
35、tables order by modify_date desc"Dim cmd As SqlCommand = New SqlCommand(sql, sqlConnection1) dataAdapter.SelectCommand = cmd dataAdapter.Fill(dst, "name") dt = dst.Tables("name") sqlConnection1.Close() '關(guān)閉數(shù)據(jù)庫(kù) umns = True'自動(dòng)創(chuàng)建列 DataGridView1.DataSource = dt DataGridVi
36、ew1.Refresh()ElseDim sql AsString = "select name From sys.tables where name like '%" & TextBox1.Text & "%'"Dim cmd As SqlCommand = New SqlCommand(sql, sqlConnection1) dataAdapter.SelectCommand = cmd dataAdapter.Fill(dst, "name") dt = dst.Tables("nam
37、e") sqlConnection1.Close() '關(guān)閉數(shù)據(jù)庫(kù) s = True'自動(dòng)創(chuàng)建列 DataGridView1.DataSource = dtEndIf關(guān)于實(shí)現(xiàn)查詢(xún)表內(nèi)容的代碼如下:shadow = DataGridView1.SelectedRows(0).Cells(0).ValueIf DataGridView1.SelectedRows.Count > 0 ThenDim name = DataGridView1.SelectedRows(0).Cells(0).ValueDim strConnection AsString = "
38、;Server=DELL-PCSQLEXPRESS;database=renshi;uid=ouqing;pwd=123;"Dim sqlConnection1 AsNew SqlConnection(strConnection)Dim dataAdapter AsNew SqlDataAdapterDim dst AsNew DataSetDim dt AsNew DataTable sqlConnection1.Open() '打開(kāi)數(shù)據(jù)庫(kù) Dim objSqlCommand As SqlCommandDim sql AsString sql = "select
39、* from " & name & " " objSqlCommand = New SqlCommand(sql, sqlConnection1)Dim objSqlDataAdapter As SqlDataAdapter objSqlDataAdapter = New SqlDataAdapter(objSqlCommand)Dim objDataSet As DataSet objDataSet = New DataSet() objSqlDataAdapter.Fill(objDataSet, "庫(kù)存表") DataGr
40、idView2.DataSource = objDataSet.Tables("庫(kù)存表") DataGridView2.Refresh() sqlConnection1.Close() '關(guān)閉數(shù)據(jù)庫(kù)Else MsgBox("沒(méi)有選著修改項(xiàng)")EndIf關(guān)于實(shí)現(xiàn)關(guān)鍵字查詢(xún)的代碼如下:If TextBox2.Text = ""ThenDim z AsString z = MsgBox("請(qǐng)輸入姓名、編號(hào)關(guān)鍵字!", vbOKCancel + vbInformation, "提示")ExitS
41、ubElseDim strConnection AsString = "Server=DELL-PCSQLEXPRESS;database=renshi;uid=ouqing;pwd=123;"Dim sqlConnection1 AsNew SqlConnection(strConnection)Dim dataAdapter AsNew SqlDataAdapterDim dst AsNew DataSetDim dt AsNew DataTable sqlConnection1.Open() '打開(kāi)數(shù)據(jù)庫(kù) Dim objSqlCommand As SqlCom
42、mandDim sql AsString sql = "select * from " & shadow & " where 編號(hào)like '%" & TextBox2.Text & "%' or 姓名like '%" & TextBox2.Text & "%' " 根據(jù)所有表具有的共同字段查詢(xún) objSqlCommand = New SqlCommand(sql, sqlConnection1)Dim objSqlDataAdapte
43、r As SqlDataAdapter objSqlDataAdapter = New SqlDataAdapter(objSqlCommand)Dim objDataSet As DataSet objDataSet = New DataSet() objSqlDataAdapter.Fill(objDataSet, "庫(kù)存表") DataGridView2.DataSource = objDataSet.Tables("庫(kù)存表") DataGridView2.Refresh() sqlConnection1.Close() '關(guān)閉數(shù)據(jù)庫(kù)End
44、IfEndSub關(guān)于實(shí)現(xiàn)表的打印代碼如下:1、 首先創(chuàng)建一個(gè)類(lèi):ImportsImportsImportsImportsImportsImportsNamespace DgPrintPublicClass PrintServicePrivate StrFormat As StringFormat '單元格內(nèi)容Private RowPos AsInteger'當(dāng)前打印行Private NewPage AsBoolean'判斷是否為新頁(yè)P(yáng)rivate PageNo AsInteger'打印頁(yè)數(shù)Private CellHeight AsInteger'打印的單
45、元格高度Private RowsPerPage AsInteger'每頁(yè)的行數(shù)Private printDoc AsNew System.Drawing.Printing.PrintDocument() '用于打印的PrintDocument ObjectPrivate ColumnLefts AsNew ArrayList() '列的左坐標(biāo)Private ColumnWidths AsNew ArrayList() '列的寬度Private PrintTitle AsString = ""'標(biāo)題Private AvailableCo
46、lumns AsNew List(OfString)() 'datagridview中可見(jiàn)的列Private HeaderHeight AsInteger = 0Private grid As DataGridView'打印PublicSub Print(ByVal grid As DataGridView, ByVal Title AsString)Dim ppvw As PrintPreviewDialogTryMe.grid = grid '獲取要打印的datagridview AvailableColumns.Clear() '獲取中所有可見(jiàn)的列標(biāo)題Fo
47、rEach c As DataGridViewColumn InIf c.Visible = TrueThen AvailableColumns.Add(c.HeaderText)EndIfNext'顯示打印屬性窗體 PrintTitle = Title RowsPerPage = 0 printDoc.DocumentName = ""Dim dia AsNew PrintDialog() dia.PrintToFile = False dia.Document = printDoc dia.UseEXDialog = TrueIf dia.ShowDialog(
48、) <> DialogResult.OK ThenReturnEndIf ppvw = New PrintPreviewDialog() ppvw.Document = printDoc'顯示打印預(yù)覽AddHandler printDoc.BeginPrint, New System.Drawing.Printing.PrintEventHandler(AddressOf PrintGridDoc_BeginPrint)AddHandler printDoc.PrintPage, New System.Drawing.Printing.PrintPageEventHandl
49、er(AddressOf PrintGridDoc_PrintPage)If ppvw.ShowDialog() <> DialogResult.OK ThenRemoveHandler printDoc.BeginPrint, New System.Drawing.Printing.PrintEventHandler(AddressOf PrintGridDoc_BeginPrint)RemoveHandler printDoc.PrintPage, New System.Drawing.Printing.PrintPageEventHandler(AddressOf Print
50、GridDoc_PrintPage)ReturnEndIf'打印文件 printDoc.Print()RemoveHandler printDoc.BeginPrint, New System.Drawing.Printing.PrintEventHandler(AddressOf PrintGridDoc_BeginPrint)RemoveHandler printDoc.PrintPage, New System.Drawing.Printing.PrintPageEventHandler(AddressOf PrintGridDoc_PrintPage)Catch ex As E
51、xceptionEndTryEndSubPrivateSub PrintGridDoc_BeginPrint(ByVal sender AsObject, ByVal e As System.Drawing.Printing.PrintEventArgs)Try StrFormat = New StringFormat() StrFormat.Alignment = StringAlignment.Center '居中 ColumnLefts.Clear() ColumnWidths.Clear() CellHeight = 0 RowsPerPage = 0 PageNo = 1 N
52、ewPage = True RowPos = 0Catch ex As ExceptionEndTryEndSubPrivateSub PrintGridDoc_PrintPage(ByVal sender AsObject, ByVal e As System.Drawing.Printing.PrintPageEventArgs)Dim tmpWidth AsInteger, i AsIntegerDim tmpTop AsIntegerDim tmpLeft AsIntegerDim font AsNew Font("宋體", 9)Dim font_BT AsNew
53、Font("宋體", 18)Dim font_C AsNew Font("宋體", 12)TryIf PageNo = 1 ThenForEach GridCol As DataGridViewColumn InIf GridCol.Visible Then'獲取列的寬度及高度 HeaderHeight = 33'獲取列的寬度、高度及類(lèi)型 ColumnLefts.Add(tmpLeft) ColumnWidths.Add(tmpWidth) tmpLeft += tmpWidthEndIfNextEndIf'逐行打印當(dāng)前頁(yè)Whil
54、e RowPos < grid.Rows.Count - 1Dim GridRow As DataGridViewRow = grid.Rows(RowPos) CellHeight = 22'當(dāng)前頁(yè)能否打印完剩余行?If tmpTop + CellHeight >= e.MarginBounds.Height + e.MarginBounds.Top Then'不能 DrawGridFooter(e, RowsPerPage) NewPage = True PageNo += 1 e.HasMorePages = TrueReturnElseIf NewPage
55、Then'打印標(biāo)題 e.Graphics.DrawString(PrintTitle, New Font(font_BT, FontStyle.Bold), Brushes.Black, e.MarginBounds.Width - e.Graphics.MeasureString(PrintTitle, New Font(font_BT, FontStyle.Bold), e.MarginBounds.Width).Width, e.MarginBounds.Top - e.Graphics.MeasureString(PrintTitle, New Font(font_BT, FontStyl
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度物資訂購(gòu)策劃管理協(xié)議
- 2025年企業(yè)員工購(gòu)物券福利采購(gòu)合同范本
- 魚(yú)塘綜合利用承包經(jīng)營(yíng)合同2025
- 2025年度企業(yè)職業(yè)素養(yǎng)提升策略協(xié)議
- 2025年寫(xiě)字樓租賃權(quán)益協(xié)議
- 2025年企業(yè)郵箱租賃合同樣本
- 2025年中期企業(yè)合作口頭借款協(xié)議書(shū)
- 2025年股權(quán)投資與合作策劃協(xié)議樣本
- 2025年雙邊商業(yè)合作協(xié)議
- 2025年兄弟共有財(cái)產(chǎn)分配轉(zhuǎn)讓協(xié)議書(shū)
- 中國(guó)銀行(香港)有限公司招聘筆試真題2023
- 15萬(wàn)噸水廠安裝工程施工組織設(shè)計(jì)方案
- 超級(jí)蘆竹種植項(xiàng)目可行性研究報(bào)告-具有高經(jīng)濟(jì)價(jià)值和廣泛應(yīng)用前景
- 自動(dòng)體外除顫器項(xiàng)目創(chuàng)業(yè)計(jì)劃書(shū)
- 養(yǎng)老機(jī)構(gòu)績(jī)效考核及獎(jiǎng)勵(lì)制度
- 2024年越南煤礦設(shè)備再制造行業(yè)現(xiàn)狀及前景分析2024-2030
- 長(zhǎng)塘水庫(kù)工程環(huán)評(píng)報(bào)告書(shū)
- 病案管理質(zhì)量控制指標(biāo)檢查要點(diǎn)
- DL-T5001-2014火力發(fā)電廠工程測(cè)量技術(shù)規(guī)程
- 平行四邊形的判定(27張)-完整課件
- 居民住宅小區(qū)電力配置規(guī)范
評(píng)論
0/150
提交評(píng)論