版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、By 院長(zhǎng)信息查詢(xún)系統(tǒng)歐青目 錄 TOC o 1-5 h z 【論文摘要】 1【關(guān)鍵字】 1 HYPERLINK l bookmark4 o Current Document .選題背景 1 HYPERLINK l bookmark6 o Current Document 課題背景、意義和來(lái)源以及系統(tǒng)工具介紹 1課題背景及意義 1課題的來(lái)源 2系統(tǒng)工具介紹 2 HYPERLINK l bookmark8 o Current Document 國(guó)內(nèi)外發(fā)展概況 2 HYPERLINK l bookmark10 o Current Document 研究?jī)?nèi)容及須解決的關(guān)鍵問(wèn)題 2研究?jī)?nèi)容 2需要解決
2、的關(guān)鍵問(wèn)題 3.圖書(shū)館管理信息系統(tǒng)解決方案 3方案內(nèi)容 3方案的選擇 3方案的技術(shù)實(shí)現(xiàn) 錯(cuò)誤!未定義書(shū)簽。 HYPERLINK l bookmark14 o Current Document .系統(tǒng)總體設(shè)計(jì) 4 HYPERLINK l bookmark16 o Current Document 系統(tǒng)總體設(shè)計(jì) 4 HYPERLINK l bookmark18 o Current Document 系統(tǒng)總體功能圖 4 HYPERLINK l bookmark20 o Current Document 數(shù)據(jù)庫(kù)設(shè)計(jì) 6數(shù)據(jù)庫(kù)白選擇 7數(shù)據(jù)庫(kù)設(shè)計(jì) 7數(shù)據(jù)庫(kù)關(guān)系圖 錯(cuò)誤!未定義書(shū)簽。 HYPERLINK
3、l bookmark22 o Current Document .圖書(shū)館管理信息系統(tǒng)的實(shí)現(xiàn)過(guò)程 8系統(tǒng)結(jié)構(gòu) 8 HYPERLINK l bookmark24 o Current Document 登錄系統(tǒng)界面的設(shè)計(jì) 10信息服務(wù)子系統(tǒng)的設(shè)計(jì) 13管理和維護(hù)子系統(tǒng)的設(shè)計(jì) 17 HYPERLINK l bookmark34 o Current Document .開(kāi)發(fā)過(guò)程遇到的問(wèn)題及解決方法 28.結(jié)束語(yǔ) 28參考文獻(xiàn) 29【論文摘要】 目前,我國(guó)第三代HIS尚處于發(fā)展階段,再加上臨床醫(yī)務(wù)人 員對(duì)HIS所知很少,導(dǎo)致對(duì)原始醫(yī)療數(shù)據(jù)的再利用更少。因此,如何才能更有 效、合理地利用HIS數(shù)據(jù),是今后H
4、IS的發(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)更清楚的了解整個(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 sever.選題背景課題背景、意義和來(lái)源以及系統(tǒng)工具介紹課題背景及意義今天,隨著信息技術(shù)的發(fā)展,在醫(yī)院信息管理中運(yùn)用傳統(tǒng)的手工操作方式 在現(xiàn)在這個(gè)數(shù)字化的時(shí)代已顯
5、得極不適應(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ì)和藥品等信息的查詢(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è)較
6、為普遍,同時(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í)自己,提高自己的專(zhuān)業(yè)技能 水平,以獲取更多的教益課題的來(lái)源本課題由本人和輔導(dǎo)老師提出,基于 及SQLServer 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ū)ο蟮?進(jìn)行設(shè)計(jì)的。Visual Basic.NET 是基于微軟.NET Framework之上的面向?qū)ο蟮木幊陶Z(yǔ)言。其在調(diào)
7、試時(shí)是以解釋 型語(yǔ)言方式運(yùn)作,而輸出為EXE序是是以編譯型語(yǔ)言方式運(yùn)作。可以看作是 Visual Basic 在.Net Framework平臺(tái)上的升級(jí)版本,增強(qiáng)了 對(duì)面向?qū)ο蟮闹С?。大多?VB.Net程序員使用 Visual Studio .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、SQLServer等。而基于Acce
8、ss數(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ī)院信息 數(shù)據(jù)庫(kù),但基于SQLServer數(shù)據(jù)庫(kù)具有使用方便、學(xué)習(xí)簡(jiǎn)單、易學(xué)易用的特點(diǎn), 在發(fā)展中國(guó)發(fā)展較為成熟,所以基于SQLServer數(shù)據(jù)庫(kù)做的信息系統(tǒng)較為普遍。研究?jī)?nèi)容及須解決的關(guān)鍵問(wèn)題研究?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)使用的是
9、 2005 ,以SQL Server 2005數(shù)據(jù)庫(kù)平臺(tái)進(jìn)行 開(kāi)發(fā)。需要解決的關(guān)鍵問(wèn)題用戶需求分析系統(tǒng)整體規(guī)劃方案及設(shè)定功能模塊的劃分及設(shè)定利用SQL select實(shí)現(xiàn)數(shù)據(jù)的連接實(shí)現(xiàn)最終系統(tǒng)代碼的設(shè)計(jì).院長(zhǎng)信息查詢(xún)系統(tǒng)解決方案方案內(nèi)容我們可以用兩層體系結(jié)構(gòu)作為院長(zhǎng)信息查詢(xún)系統(tǒng)軟件解決方案的核心,它 的基本思想是將院長(zhǎng)操作的界面同管理人員的操作界面分離,把信息系統(tǒng)按功 能劃分為用戶管理和維護(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)后,下一步的
10、工作是繼續(xù)劃分子系統(tǒng)的小模塊。先考慮在進(jìn)入子系統(tǒng) 時(shí)應(yīng)該做什么,進(jìn)入系統(tǒng)之后又應(yīng)該做什么,提供哪些服務(wù)等。 。方案論證方案的選擇兩層客戶機(jī)/服務(wù)器技術(shù)在結(jié)構(gòu)、開(kāi)發(fā)環(huán)境、應(yīng)用平臺(tái)的開(kāi)發(fā)方式上已經(jīng)非 常成熟。請(qǐng)求另一計(jì)算機(jī)為之服務(wù)的計(jì)算機(jī)稱(chēng)為客戶機(jī)(Client ).而處理數(shù)據(jù)庫(kù)的計(jì)算機(jī)稱(chēng)為服務(wù)器(Server)??蛻魴C(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),用戶只需關(guān)心界面的處 理工作即可??蛻魴C(jī)/服務(wù)器系統(tǒng)的成功
11、與否在很大程度上依賴(lài)于服務(wù)器。用戶 越多,服務(wù)器的處理負(fù)擔(dān)越重,相應(yīng)服務(wù)器硬件性能也要跟得上,否則就會(huì)導(dǎo) 致影響時(shí)間比本地型數(shù)據(jù)庫(kù)還要差的結(jié)果??蛻魴C(jī)運(yùn)行數(shù)據(jù)請(qǐng)求程序,并將這些請(qǐng)求傳送到服務(wù)器。由客戶機(jī)執(zhí)行的 計(jì)算稱(chēng)為前端處理。前端處理具有所有與提供、操作和顯示數(shù)據(jù)相關(guān)的功能。 C/S數(shù)據(jù)庫(kù)應(yīng)用程序中客戶端的主要功能:從用戶接收數(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ù)器端的主要功能:從客戶機(jī)接收數(shù)據(jù)庫(kù)請(qǐng)求處理數(shù)據(jù)
12、庫(kù)請(qǐng)求傳送結(jié)果給客戶機(jī)執(zhí)行完整性檢查提供并行訪問(wèn)控制事務(wù)處理失敗后,執(zhí)行事務(wù)恢復(fù)優(yōu)化查詢(xún)和更新處理.系統(tǒng)總體設(shè)計(jì)系統(tǒng)總體設(shè)計(jì)對(duì)于醫(yī)院信息查詢(xún)系統(tǒng)主要負(fù)責(zé)提供的功能是指從醫(yī)院收集信息,并將信息錄入數(shù)據(jù)庫(kù)中,實(shí)現(xiàn)院長(zhǎng)能方便快速的找到自己想要的信息。(1)信息收集:從醫(yī)院的各個(gè)部門(mén)、科室收集所需的信息。(2)信息錄入:將收集來(lái)的信息整合、分類(lèi)錄入sql數(shù)據(jù)庫(kù)中。(3)用戶管理:管理員實(shí)現(xiàn)對(duì)用戶的注冊(cè)、修改、刪除。(4)用戶查詢(xún)信息:用戶通過(guò)平臺(tái)窗口查詢(xún)高效的查詢(xún)醫(yī)院的各方面 的信息,并可以將信息打印輸出。系統(tǒng)總體功能圖院長(zhǎng)綜合查詢(xún)信息系統(tǒng)藥品信息更改登陸密碼更改注jm密碼設(shè)置用戶權(quán)刪 除 新 用 戶
13、圖3-1總體功能圖3.3數(shù)據(jù)流程圖:數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)的選擇院長(zhǎng)綜合查詢(xún)信息系統(tǒng)是一個(gè)小型的數(shù)據(jù)庫(kù)系統(tǒng)。在這里我們選擇SQLServer數(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)了這一方法的重要 性。在客戶機(jī)/服務(wù)器框架內(nèi),服務(wù)器數(shù)據(jù)庫(kù)也要求與服務(wù)器的通信組件集成, 以便和客戶系統(tǒng)連接。Microsoft SQLServer的客戶機(jī)/服務(wù)器使用 Wi
14、ndowsNT 的內(nèi)置網(wǎng)絡(luò)組件。Microsoft SQL Server還在其網(wǎng)絡(luò)組件的頂部添加了服務(wù)特 有的中介組件:開(kāi)放式數(shù)據(jù)庫(kù)連接( OpenDatabase Connectivity,ODBC )能使 不同客戶機(jī)進(jìn)行相互連接,而不要求變更服務(wù)器及其他現(xiàn)存客戶應(yīng)用程序。數(shù)據(jù)庫(kù)設(shè)計(jì)表名屬性說(shuō)明表TestZhanghu,mima表Book主要存儲(chǔ) 關(guān)于用戶的信息,7表Test2Glyonghu,glmima表test2主要存儲(chǔ) 關(guān)于管理員的信息,(其他由于醫(yī)院信息表過(guò)于繁多就不一一列舉)圖3-1數(shù)據(jù)庫(kù)表對(duì)象.圖書(shū)館管理信息系統(tǒng)的實(shí)現(xiàn)過(guò)程系統(tǒng)結(jié)構(gòu)我們用兩層體系結(jié)構(gòu)作為院長(zhǎng)綜合查詢(xún)信息系統(tǒng)軟件解
15、決方案的核心,把 信息系統(tǒng)按功能劃分為管理和維護(hù)、信息服務(wù)和信息查詢(xún)?nèi)髩K,分別放置在 相同或不同的硬件平臺(tái)上,并將系統(tǒng)的操作人員劃分為兩類(lèi):管理員,用戶。管理員表刪除管理員修改管理員密碼管理員注冊(cè)用戶表刪除用戶修改用戶密碼用戶注冊(cè)登錄系統(tǒng)界面的設(shè)計(jì).從列表框里選擇用戶,此列表框內(nèi)的用戶直接與數(shù)據(jù)庫(kù)里工作人員的表 相關(guān)聯(lián)。.輸入密碼。判斷該密碼與工作人員表中定義的密碼是否相符 。.如果不正確,提示輸入正確的信息。.如果正確,用戶登錄對(duì)于登陸界面的代碼如下:10Dim sqlConnectionl As SqlClient.SqlConnectionDim sqlConnect As Strin
16、g =Server=DELL-PCSQLEXPRESS;database=his;uid=ouqing;pwd=123; server=計(jì)算機(jī)名;database= 數(shù)據(jù)庫(kù)名;uid=登錄數(shù)據(jù)庫(kù)用戶名萬(wàn)卬=登錄數(shù)據(jù)庫(kù)密碼”sqlConnection1 = NewSystem.Data.SqlClient.SqlConnection(sqlConnect) sqlConnection1.Open()Dim rs As NewADODB.RecordsetClassIf TextBox1.Text = Or Len(TextBox1.Text) 10 ThenDim z As Stringz =
17、MsgBox(請(qǐng)輸入用戶名,不能超過(guò)個(gè)字符!, vbOKCancel + vbInformation, 提示)TextBox1.Text =Exit Sub End IfIf TextBox2.Text = Or Len(TextBox2.Text) 10 ThenDim b As Stringb = MsgBox(請(qǐng)輸入密碼,不能超過(guò)個(gè)字符!, vbOKCancel + vbInformation, 提示)TextBox2.Text =Exit Sub End IfIf InStr( MeTextBox2.Text, ) Or InStr( MeTextBox1.Text, ) Then 如
18、果文本框或者里面含有,這個(gè)符號(hào)提示非法字符MsgBox(密碼中存在非法字符,請(qǐng)重新輸入。,MsgBoxStyle.Information,提示!)MeTextBox1.Text =MeTextBox2.Text =Exit SubEnd IfsqlConnection1.Close()sqlConnection1.Open()Dim sqlcom As NewSqlCommand這里,你用這個(gè)方法來(lái)取表的數(shù)據(jù)。如果用戶故意輸入一個(gè)你的sql語(yǔ)句就會(huì)出錯(cuò)。sqlcom.CommandText = select * from test where zhanghu= & MeTextBox1.Tex
19、t & andmima= & MeTextBox2.Text &11sqlcom.Connection = sqlConnectionlDim myds As NewDataSetDim myadapter As NewSqlDataAdaptermyadapter.SelectCommand = sqlcommyadapter.Fill(myds,test)Dim cm As NewSqlCommandselect count(*) from test where zhanghu = & TextBox1.Text & , sqlConnection1)Dim count As Intege
20、r = cm.ExecuteScalarIf count 0 ThenIf myds.Tables( test ).Rows.Count = 0 ThenMsgBox(密碼錯(cuò)誤,請(qǐng)重新輸入。,MsgBoxStyle.Information, 提示)MeTextBox2.Text =sqlConnection1.Close()Exit SubEnd IfForm4.Show()MeHide()ElseMsgBox(賬號(hào)不存在,請(qǐng)重新輸入!)MeTextBox1.Text =MeTextBox2.Text =Exit SubEnd If連接數(shù)據(jù)庫(kù)End Sub124.3.管理員界面的設(shè)計(jì)13ByV
21、al e As System.EventArgs)Handles關(guān)于修改用戶密碼界面的設(shè)計(jì)代碼如下: Private Sub Button1_Click( ByVal sender As System.Object, Button1.ClickDim rs As NewADODB.RecordsetClassIf TextBox1.Text = Or Len(TextBox1.Text) 10ThenDim z As Stringz = MsgBox(請(qǐng)輸入用戶名,不能超過(guò)個(gè)字符!,vbOKCancel + vbInformation,提示)TextBoxl.Text =Exit SubEnd
22、 IfIf TextBox2.Text =Or Len(TextBox2.Text) 10ThenDim b As Stringb = MsgBox(請(qǐng)輸入原密碼,不能超過(guò)個(gè)字符!,vbOKCancel + vbInformation,提示)TextBox2.Text =Exit SubEnd IfIf TextBox3.Text =Or Len(TextBox3.Text) 10ThenDim c As Stringc = MsgBox(請(qǐng)輸入新密碼,不能超過(guò)個(gè)字符!,vbOKCancel + vbInformation,提示)TextBox3.Text =Exit SubEnd IfIf
23、TextBox4.Text =Or Len(TextBox3.Text) 10ThenDim c As Stringc = MsgBox(請(qǐng)輸入新密碼,不能超過(guò)個(gè)字符!,vbOKCancel + vbInformation,提示)TextBox4.Text =Exit SubEnd IfThenIf TextBox3.Text TextBox4.TextDim d As Stringd = MsgBox(對(duì)不起,兩次輸入的密碼不一致!,vbOKCancel + vbInformation,提示14)TextBox3.Text =TextBox4.Text =End IfDim sqlConne
24、ctionlAs SqlClient.SqlConnectionDim sqlConnect As String =Server=DELL-PCSQLEXPRESS;database=his;uid=ouqing;pwd=123; server=計(jì)算機(jī)名;database= 數(shù)據(jù)庫(kù)名;uid=登錄數(shù)據(jù)庫(kù)用戶名萬(wàn)卬=登錄數(shù)據(jù)庫(kù)密碼”sqlConnection1 = NewSystem.Data.SqlClient.SqlConnection(sqlConnect)sqlConnection1.Open()If InStr( MeTextBox2.Text, ,) Or InStr( MeText
25、Box3.Text,, ) Then 如果文本框或者里面含有,這個(gè)符號(hào)提示非法字符MsgBox(密碼中存在非法字符,請(qǐng)重新輸入。,MsgBoxStyle.Information, 提示!)MeTextBox1.Text =MeTextBox2.Text =Exit SubEnd IfsqlConnection1.Close()sqlConnection1.Open()Dim sqlcom As NewSqlCommand這里,你用這個(gè)方法來(lái)取表的數(shù)據(jù)。如果用戶故意輸入一個(gè)你的sql語(yǔ)句就會(huì)出錯(cuò)。sqlcom.CommandText = select * from test where zhan
26、ghu= & MeTextBox1.Text & andmima= & MeTextBox2.Text &sqlcom.Connection = sqlConnection1Dim myds As NewDataSetDim myadapter As NewSqlDataAdaptermyadapter.SelectCommand = sqlcommyadapter.Fill(myds,test)Dim cm As NewSqlCommandselect count(*) from test where zhanghu = & TextBox1.Text & , sqlConnection1)
27、Dim count As Integer = cm.ExecuteScalarDim result = NewDialogResult()result = MessageBox.Show(你確定要修改您的密碼嗎?,修改賬號(hào)提醒,MessageBoxButtons.YesNo, MessageBoxIcon.Question)If result = Windows.Forms.DialogResult.Yes ThenIf count 0 Then15If myds.Tables( test ).Rows.Count = 0 ThenMsgBox(原始密碼錯(cuò)誤,請(qǐng)重新輸入。,MsgBoxStyl
28、e.Information,提示)MeTextBox2.Text =sqlConnection1.Close()Exit SubEnd IfDim Opendlg As NewOpenFileDialogDim sqlcomm As NewSqlCommandsqlcomm.CommandText =Update test set mima=mima where zhanghu=MeTextBox1.Text &sqlcomm.Connection = sqlConnection1Dim prm1 As NewSqlParameter( mima; MeTextBox3.Text)sqlcom
29、m.Parameters.Add(prm1)Trysqlcomm.ExecuteNonQuery()執(zhí)行插入語(yǔ)句sqlConnection1.Close()Catch ex As ExceptionsqlConnection1.Close()MsgBox(ex.Message)Exit SubMsgBox(End Try密碼修改成功!,MsgBoxStyle.Information,提示)ElseMsgBox(MeTextBox2.Text =MeTextBox3.Text =MeTextBox4.Text =賬號(hào)不存在,請(qǐng)重新輸入!)MeTextBox2.Text =MeTextBox3.T
30、ext =MeTextBox4.Text =Exit SubEndIfElseMeTextBox2.Text =MeTextBox3.Text =MeTextBox4.Text =Exit SubEnd If16End Sub4.4.用戶查詢(xún)界面的設(shè)計(jì)17口.人索Hg圣石關(guān)于表名查詢(xún)的代碼如下:Dim strConnection As String = Server=DELL-PCSQLEXPRESS;database=renshi;uid=ouqing;pwd=123;Dim sqlConnection1 As NewSqlConnection(strConnection)Dim dataA
31、dapter As NewSqlDataAdapterDim dst As NewDataSetDim dt As NewDataTablesqlConnection1.Open()打開(kāi)數(shù)據(jù)庫(kù)If CheckBox1.Checked = True And TextBox1.Text = ThenDim sql As String = select name from sys.tables order by modify_date descDim cmd As SqlCommand = NewSqlCommand(sql, sqlConnection1)dataAdapter.SelectCom
32、mand = cmddataAdapter.Fill(dst,name)dt = dst.Tables(name)sqlConnection1.Close()關(guān)閉數(shù)據(jù)庫(kù)DataGridView1.AutoGenerateColumns =True 自動(dòng)創(chuàng)建列DataGridView1.DataSource = dtDataGridView1.Refresh()ElseDim sql As String = select nameFrom sys.tables where namelike % & TextBox1.Text& %18Dim cmd As SqlCommand = NewSqlC
33、ommand(sql, sqlConnectionl)dataAdapter.SelectCommand = cmddataAdapter.Fill(dst,name)dt = dst.Tables(name)sqlConnection1.Close()關(guān)閉數(shù)據(jù)庫(kù)DataGridView1.AutoGenerateColumns =True 自動(dòng)創(chuàng)建列DataGridView1.DataSource = dtEnd If關(guān)于實(shí)現(xiàn)查詢(xún)表內(nèi)容的代碼如下:shadow = DataGridView1.SelectedRows(0).Cells(0).ValueIf DataGridView1.Sel
34、ectedRows.Count 0 ThenDim name = DataGridView1.SelectedRows(0).Cells(0).ValueDim strConnection As String = Server=DELL-PCSQLEXPRESS;database=renshi;uid=ouqing;pwd=123;Dim sqlConnection1 As NewSqlConnection(strConnection)Dim dataAdapter As NewSqlDataAdapterDim dst As NewDataSetDim dt As NewDataTables
35、qlConnection1.Open()打開(kāi)數(shù)據(jù)庫(kù)Dim objSqlCommand As SqlCommandDim sql As Stringsql =select * from & name & objSqlCommand = NewSqlCommand(sql, sqlConnection1)Dim objSqlDataAdapter As SqlDataAdapter objSqlDataAdapter =NewSqlDataAdapter(objSqlCommand)Dim objDataSet As DataSet objDataSet =NewDataSet()庫(kù)存表)objS
36、qlDataAdapter.Fill(objDataSet,19庫(kù)存表)DataGridView2.DataSource = objDataSet.Tables(DataGridView2.Refresh()sqlConnection1.Close()關(guān)閉數(shù)據(jù)庫(kù)Else MsgBox(沒(méi)有選著修改項(xiàng))End If 關(guān)于實(shí)現(xiàn)關(guān)鍵字查詢(xún)的代碼如下: If TextBox2.Text = ThenDim z As String z = MsgBox(請(qǐng)輸入姓名、編號(hào)關(guān)鍵字! , vbOKCancel + vbInformation,提示)Exit Sub ElseDim strConnection
37、As String = Server=DELL-PCSQLEXPRESS;database=renshi;uid=ouqing;pwd=123;”Dim sqlConnectionl As NewSqlConnection(strConnection)Dim dataAdapter As NewSqlDataAdapterDim dst As NewDataSet Dim dt As NewDataTablesqlConnection1.Open()打開(kāi)數(shù)據(jù)庫(kù)Dim objSqlCommand As SqlCommandDim sql As String sql =select * from
38、& shadow & where 編號(hào) like %& TextBox2.Text &% or姓名like %& TextBox2.Text &%根據(jù)所有表具有的 共同字段 查詢(xún)objSqlCommand = NewSqlCommand(sql, sqlConnectionl)Dim objSqlDataAdapter As SqlDataAdapter objSqlDataAdapter =NewSqlDataAdapter(objSqlCommand)Dim objDataSet As DataSet objDataSet =NewDataSet()objSqlDataAdapter.Fi
39、ll(objDataSet,庫(kù)存表)DataGridView2.DataSource = objDataSet.Tables(庫(kù)存表)DataGridView2.Refresh()20sqlConnection1.Close(),關(guān)閉數(shù)據(jù)庫(kù)End IfEnd Sub關(guān)于實(shí)現(xiàn)表的打印代碼如下:1、首先創(chuàng)建一個(gè)類(lèi):Imports System.Collections.GenericImports System.Windows.FormsImports System.DrawingImports System.CollectionsImports System.DataImports System.
40、TextNamespaceDgPrint Public Class PrintServicePrivate StrFormat As StringFormat 單元格內(nèi)容Private RowPos As Integer 當(dāng)前打印行Private NewPage As Boolean 判斷是否為新頁(yè)P(yáng)rivate PageNo As Integer 打印頁(yè)數(shù)Private CellHeight As Integer 打印的單元格高度Private RowsPerPage As Integer 每頁(yè)的行數(shù)Private printDoc As NewSystem.Drawing.Printing
41、.PrintDocument() 用于打印的 PrintDocument ObjectPrivate ColumnLefts As NewArrayList() 列的左坐標(biāo)Private ColumnWidths As NewArrayList() 列的寬度Private PrintTitle As String =標(biāo)題Private AvailableColumns As NewList( Of String )() datagridview 中可見(jiàn)的列Private HeaderHeight As Integer = 0Private grid As DataGridView打印Publi
42、c Sub Print( ByVal grid As DataGridView, ByVal Title As String )21Dim ppvw As PrintPreviewDialogTryMegrid = grid 獲取要打印的 datagridview AvailableColumns.Clear()獲取中所有可見(jiàn)的列標(biāo)題For Each c As DataGridViewColumn In grid.Columns If c.Visible = True ThenAvailableColumns.Add(c.HeaderText) End If Next ,顯示打印屬性窗體 Pr
43、intTitle = Title RowsPerPage = 0 printDoc.DocumentName =Dim dia As NewPrintDialog() dia.PrintToFile =Falsedia.Document = printDoc dia.UseEXDialog =TrueIf dia.ShowDialog() DialogResult.OK Then Return End Ifppvw =NewPrintPreviewDialog()ppvw.WindowState = FormWindowState.Maximized ppvw.Document = print
44、Doc,顯示打印預(yù)覽AddHandler printDoc.BeginPrint, NewSystem.Drawing.Printing.PrintEventHandler( AddressOf PrintGridDoc_BeginPrint) AddHandler printDoc.PrintPage, NewSystem.Drawing.Printing.PrintPageEventHandler(AddressOf PrintGridDoc_PrintPage)If ppvw.ShowDialog() DialogResult.OK ThenRemoveHandler printDoc.
45、BeginPrint, NewSystem.Drawing.Printing.PrintEventHandler( AddressOf PrintGridDoc_BeginPrint)RemoveHandler printDoc.PrintPage, NewSystem.Drawing.Printing.PrintPageEventHandler( AddressOf PrintGridDoc_PrintPage)22ReturnEnd If,打印文件printDoc.Print()RemoveHandler printDoc.BeginPrint, NewSystem.Drawing.Pri
46、nting.PrintEventHandler( AddressOf PrintGridDoc_BeginPrint)RemoveHandler printDoc.PrintPage, NewSystem.Drawing.Printing.PrintPageEventHandler( AddressOf PrintGridDoc_PrintPage)Catch ex As ExceptionEnd TryEnd SubPrivate Sub PrintGridDoc_BeginPrint( ByVal sender As Object , ByVal e AsSystem.Drawing.Pr
47、inting.PrintEventArgs)TryStrFormat =NewStringFormat()StrFormat.Alignment = StringAlignment.Center居中StrFormat.LineAlignment = StringAlignment.CenterStrFormat.Trimming = StringTrimming.EllipsisCharacterColumnLefts.Clear()ColumnWidths.Clear()CellHeight = 0RowsPerPage = 0PageNo = 1NewPage =TrueRowPos =
48、023Catch ex As ExceptionEnd TryEnd SubPrivate Sub PrintGridDoc_PrintPage(ByVal sender As Object , ByVal e AsSystem.Drawing.Printing.PrintPageEventArgs)Dim tmpWidth As Integer , i As IntegerDim tmpTop As Integer = e.MarginBounds.TopDim tmpLeft As Integer = e.MarginBounds.LeftDim font As NewFont(宋體,9)
49、Dim font_BT As NewFont(宋體,18)Dim font_C As NewFont(宋體,12)TryIf PageNo = 1 ThenFor Each GridCol As DataGridViewColumn In grid.ColumnsIf GridCol.Visible Then獲取列的寬度及高度tmpWidth = GridCol.WidthHeaderHeight = 33獲取列的寬度、高度及類(lèi)型ColumnLefts.Add(tmpLeft)ColumnWidths.Add(tmpWidth)tmpLeft += tmpWidthEnd If24NextEn
50、d If逐行打印當(dāng)前頁(yè)While RowPos = e.MarginBounds.Height + e.MarginBounds.Top Then ,不能DrawGridFooter(e, RowsPerPage)NewPage =TruePageNo += 1e.HasMorePages =TrueReturn ElseIf NewPage Then ,打印標(biāo)題e.Graphics.DrawString(PrintTitle,NewFont(font_BT,FontStyle.Bold), Brushes.Black, e.MarginBounds.Width - e.Graphics.Me
51、asureString(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)Dim s As String = DateTime.Now.ToLongDateString() & &DateTime.Now.ToShortDateS
52、tring()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,
53、 FontStyle.Bold), FontStyle.Bold),e.MarginBounds.Width).Height - 13),打印列 tmpTop = e.MarginBounds.Top i = 0For Each GridCol As DataGridViewColumn In grid.Columns If GridCol.Visible = True Then25Newe.Graphics.FillRectangle(SolidBrush(Color.LightGray), NewRectangle( CInt (ColumnLefts(i), tmpTop, CInt (
54、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), New RectangleF( CInt (ColumnLefts(i), tmpTop, CInt (ColumnWidths(i), HeaderHeight), StrFormat) i += 1End IfNextNewPage =FalsetmpTop += HeaderHeightEnd If打印各列內(nèi)容 i = 0For Each Cel As DataGridViewCell In GridRow.Cells If grid.Co
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 遼寧建筑職業(yè)學(xué)院《有機(jī)化學(xué)Ⅰ》2023-2024學(xué)年第一學(xué)期期末試卷
- 科爾沁藝術(shù)職業(yè)學(xué)院《算法分析與設(shè)計(jì)實(shí)驗(yàn)》2023-2024學(xué)年第一學(xué)期期末試卷
- 江蘇理工學(xué)院《視聽(tīng)節(jié)目策劃》2023-2024學(xué)年第一學(xué)期期末試卷
- 吉林大學(xué)《汽車(chē)電工電子技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 湖南農(nóng)業(yè)大學(xué)《烹調(diào)工藝學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 湖北體育職業(yè)學(xué)院《消費(fèi)者保護(hù)法》2023-2024學(xué)年第一學(xué)期期末試卷
- 【物理】《功》(教學(xué)設(shè)計(jì))-2024-2025學(xué)年人教版(2024)初中物理八年級(jí)下冊(cè)
- 高考物理總復(fù)習(xí)《帶電粒子在交變場(chǎng)中的運(yùn)動(dòng)》專(zhuān)項(xiàng)測(cè)試卷含答案
- 重慶工程職業(yè)技術(shù)學(xué)院《分布式系統(tǒng)與云計(jì)算》2023-2024學(xué)年第一學(xué)期期末試卷
- 正德職業(yè)技術(shù)學(xué)院《學(xué)習(xí)科學(xué)基礎(chǔ)》2023-2024學(xué)年第一學(xué)期期末試卷
- 《世界史通史溫習(xí)》課件
- 人教版初中語(yǔ)文2022-2024年三年中考真題匯編-學(xué)生版-專(zhuān)題08 古詩(shī)詞名篇名句默寫(xiě)
- 第2課 各種各樣的運(yùn)動(dòng)(說(shuō)課稿)-2023-2024學(xué)年三年級(jí)下冊(cè)科學(xué)教科版
- 股權(quán)質(zhì)押權(quán)借款合同模板
- 2025年中國(guó)社區(qū)團(tuán)購(gòu)行業(yè)發(fā)展環(huán)境、運(yùn)行態(tài)勢(shì)及投資前景分析報(bào)告(智研咨詢(xún)發(fā)布)
- 建材行業(yè)綠色建筑材料配送方案
- 使用錯(cuò)誤評(píng)估報(bào)告(可用性工程)模版
- 放射性藥物專(zhuān)題知識(shí)講座培訓(xùn)課件
- 山西省2023年中考道德與法治真題試卷(含答案)
- 《中國(guó)之最課件》課件
- 電力工程施工人員培訓(xùn)方案
評(píng)論
0/150
提交評(píng)論