亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于VC++ 的眼科數(shù)據(jù)庫多種查詢功能的實現(xiàn)*

        2013-01-10 06:42:14辛華坤張光玉郭永新
        關(guān)鍵詞:表單語句表格

        辛華坤 焦 青 胡 磊 張光玉 郭永新

        (1. 泰山醫(yī)學(xué)院放射學(xué)院,山東 泰安 271016; 2. 泰山醫(yī)學(xué)院附屬醫(yī)院眼科,山東 泰安 271000)

        在信息管理系統(tǒng)中,查詢是獲取數(shù)據(jù)庫信息的主要方法。需要查詢的數(shù)據(jù)在數(shù)據(jù)庫中以表格的形式存放,在VC++ 中利用ADO對象連接數(shù)據(jù)庫后可實現(xiàn)對表格的訪問。ADO是為Microsoft最新和最強大的數(shù)據(jù)訪問接口OLE DB而設(shè)計的,是一個便于使用的應(yīng)用程序?qū)咏涌凇LE DB為任何數(shù)據(jù)源提供了高性能的訪問,這些數(shù)據(jù)元包括關(guān)系和非關(guān)系數(shù)據(jù)庫、電子郵件、文件系統(tǒng)、文本和圖形和自定義業(yè)務(wù)對象等等[1]。在將數(shù)據(jù)提取出來后,通過條件篩選來確定數(shù)據(jù)查詢范圍,得到需要的查詢結(jié)果。

        在我們的前期工作中,開發(fā)了一個眼科電子病歷系統(tǒng)。系統(tǒng)數(shù)據(jù)庫有七個表格,分別存放基本信息、臨床信息、眼科臨床體征、實驗室檢查結(jié)果、臨床診斷、臨床治療及隨訪信息。系統(tǒng)可實現(xiàn)對數(shù)據(jù)庫的單表單條件、單表多條件以及多表多條件查詢功能。本研究的目的在于利用ADO對象連接眼科電子病歷系統(tǒng)中的數(shù)據(jù)庫,利用SQL語句拼接方法實現(xiàn)單表單條件、單表多條件和多表多條件的多種查詢功能。

        1 材料與方法

        SQL語句拼接方法與傳統(tǒng)的SQL語句枚舉法不同,后者的思想比較簡單,其出發(fā)點為針對不同的查詢條件組合形式列出與之對應(yīng)的SQL語句,最終執(zhí)行的SQL語句只是其中的一條。對于電子病歷條件查詢的實現(xiàn)需要將變量動態(tài)地添加到SQL語句中。SQL語句的拼接彌補了枚舉法的缺點,靈活運用VC中變量存放的條件,減少了語句的條數(shù),提高了代碼的執(zhí)行效率。在實現(xiàn)拼接時,首先對SQL查詢語句各命令分段,然后動態(tài)地與條件變量連接起來,并經(jīng)表格和條件的需求判斷,拼接成一個整句,最后經(jīng)ADO對象連接數(shù)據(jù)庫。

        SQL查詢語句中各命令使用方法為:

        ①select后接查詢目標(biāo),即查詢的表格名和字段名;

        ②from后接操作表對象,可以是一個表或多個表,或者是一個表的多個副本;

        ③where后接的是進行操作的記錄的條件,可以是表達式,表達式中也可以嵌套select的子查詢[2]。

        2 結(jié) 果

        2.1單表單條件查詢的實現(xiàn)

        單表單條件通常用作最基本的查詢,即SQL語句枚舉法,如僅對姓名或編號條件進行限定,操作員可通過其快速獲得所需病人的所有信息。該查詢不需要SQL語句的拼接,直接利用對SQL語句的執(zhí)行實現(xiàn)。

        例如查詢患者“孟祥華”的信息可以通過如下過程實現(xiàn):

        ①確定SQL語句,由于查詢條件為存放于表basicinfo中姓名為“孟祥華”患者的基本信息,則查詢SQL語句為selectt*frombasicinfowherename= ‘孟祥華’。

        ②在VC中設(shè)置編輯框為CSting型變量m_name,用于存放姓名變量。在“查詢”的消息響應(yīng)函數(shù)中連接數(shù)據(jù)庫。

        ③設(shè)置CString型變量csSQL=”select*frombasicinfowherename=’”+m_name+”’”。

        ④執(zhí)行csSQL即可獲取所需數(shù)據(jù),并將數(shù)據(jù)在程序界面上顯示。

        2.2單表多條件查詢的實現(xiàn)

        單表多條件用于對存放于同一表格中的多個條件限定。多條件必須按照一定規(guī)則組合才能使查詢得出正確結(jié)果,而組合方式可能有許多種,多條件組合查詢模塊中,模塊分為條件設(shè)定和結(jié)果顯示兩個部分,限于篇幅,本文只討論條件設(shè)定模塊。

        條件設(shè)定模塊,即參數(shù)設(shè)定模塊,用于用戶選擇查詢項目和查詢條件,查詢條件的數(shù)目可以根據(jù)查詢的要求進行增減,用戶也可根據(jù)需要選擇多個字段進行組合,從而使查詢功能具有很強的動態(tài)性和自定義性[3]。當(dāng)前的動態(tài)多條件查詢方法可以分為查詢條件枚舉法、SQL語句比較拼接和改進的SQL語句拼接3種[4],本文對于多條件的查詢運用SQL語句拼接的方法,分為主句和條件句,拼接流程見圖1。

        圖1 單表多條件查詢語句拼接流程圖

        例如欲查詢年齡在60歲以上所有男性患者的信息,可通過如下過程實現(xiàn):

        ①確定SQL語句,查詢條件為存放于表basicinfo中年齡在60歲以上所有男性患者的基本信息。確定SQL語句為”select*frombasicinfowheresex= ‘男’andage> 60”。

        ②在VC中設(shè)置編輯框CString型變量m_sex,用于存放性別變量,設(shè)置long型變量m_age用于存放年齡變量。

        ③對SQL語句分段,將整句分為主段和條件段。主段為csSQL=”select*frombasicinfo”,條件段為所需要查詢的條件”wheresex= ‘男’andage> 60”,將主段和條件段拼接成所需要的SQL語句。查詢時需要先判定每個存放條件變量的編輯框是否為空值,再執(zhí)行條件的拼接。在多條件查詢中,第一個條件在SQL語句中以where開頭,后面的條件以and連接,因此還需要對所有條件是否為第一次拼接用一個布爾型變量進行判斷。

        ④執(zhí)行SQL語句后用SetItemText函數(shù)遍歷到列表控件中顯示。

        2.3多表多條件查詢的實現(xiàn)

        多表多條件查詢所需信息存放在數(shù)據(jù)庫的多個表中,并可對多個條件的檢索范圍進行限定。拼接較為復(fù)雜,但可以同時實現(xiàn)其他兩種查詢方式,通常用作對于對病人信息進行檢索和統(tǒng)計語句。當(dāng)檢索條件涉及兩個不同的表時(這可以通過檢查結(jié)構(gòu)信息表實現(xiàn)),必須在WHERE子句中添加相應(yīng)的表格關(guān)聯(lián)條件[5],使同一姓名或編號的病人多張表格的信息對應(yīng),再對信息進行檢索。因此多表多條件的查詢需要更多的分段。

        首先輸入“select*from”語句,判斷各個條件在VC中對應(yīng)的變量是否為空,如果變量不為空即該SQL語句查詢需要該條件,通過對條件存在表格位置判定該SQL語句查詢的條件是否存放于多表,如果存放在單表,則輸入語句轉(zhuǎn)到單表單條件和單表多條件的查詢方式,并進一步對條件數(shù)進行判斷,如查詢條件只有一條則實現(xiàn)單表單條件查詢,如查詢條件有多條則進行SQL語句的拼接;如果存放在多表,則進行多表多條件查詢的實現(xiàn)。語句拼接流程圖如下。

        圖2 多表多條件查詢語句拼接流程圖

        例如可以通過如下過程實現(xiàn)查詢存放于基本信息表中,性別為男性且診斷信息表中診斷信息中含有糖尿病關(guān)鍵字患者的信息:

        ①確定SQL語句,查詢條件為存放于基本信息表中性別為男性和診斷信息表中診斷信息中含有糖尿病關(guān)鍵字患者。確定SQL語句為select*frombasicinfo,clinicaldiagnosiswherebasicinfo.name=clinicaldiagnosis.nameandsex= ‘男’and[clinicaldiagnosisinfo]like‘%糖尿病%’。

        ②在程序中先判定不為空編輯框的條件所存在的表格是否為一張表格,若為一張表格則實現(xiàn)方法與單表單條件查詢相同。

        ③若為不同表格則判斷信息存在的表格,將表名依次相加后再令這些表格相關(guān)聯(lián),最后將條件依次以and相連。

        ④設(shè)置兩個CString類型變量分別存放性別和診斷結(jié)果??蓪⒄浞譃?部分:

        “select*from”:作為主句在最前,用以連接后面的語句。

        “basicinfo,diagnosis”:表格名,此部分需先確定程序中不為空值的條件存放的表格,將這些表格依次寫入語句,第一張表格只寫表格名,后面表格前加逗號。

        “wherebasicinfoname=clinicaldiagnosis.name”:表格關(guān)聯(lián)條件,用來將不同表格病人的信息對應(yīng)。與單表單條件查詢要求相似,需要確定順序,第一張表格前加”where”,后面表格前加”=”,可以用一個布爾型變量判斷。

        “andsex= ‘男’and[clinicaldiagnosisinfo]like‘%糖尿病%’”:條件語句,無排序要求。

        ⑤語句拼接后用SetItemText函數(shù)遍歷到列表控件中顯示,顯示結(jié)果見圖3所示。圖3中框1所指部分按性別的下拉菜單選中男性,在框2所指部分的診斷結(jié)果中輸入關(guān)鍵字“糖尿病”,點擊查詢將所限制條件范圍病人的所有信息顯示在框3所指的列表控件中。

        圖3 多表多條件查詢系統(tǒng)界面

        3 討 論

        本研究探討了包括單表單條件、單表多條件和多表多條件在內(nèi)的三種查詢的實現(xiàn)方法,這些方法適用于大多數(shù)系統(tǒng)數(shù)據(jù)庫。在該眼科電子病歷系統(tǒng)的實現(xiàn)中,SQL語句的拼接使得VC++連接數(shù)據(jù)庫后實現(xiàn)通過將變量動態(tài)地添加到SQL語句對數(shù)據(jù)庫進行操作,從而極大地提高了數(shù)據(jù)庫的操作效率,實現(xiàn)了存放于數(shù)據(jù)庫中不同字段和不同表格的信息的靈活運用,使操作員可以更加方便地查詢到所需信息,從而進行病人數(shù)據(jù)的檢索和統(tǒng)計,對于疾病研究具有十分重要的意義。

        [1] 劉刀桂,孟繁晶. Visual C++實踐與提高數(shù)據(jù)庫篇[M]. 北京:中國鐵道出版社,2001.

        [2] 穆彤娜,于洪敏,張鐵成. 數(shù)據(jù)庫系統(tǒng)綜合查詢方法研究[J]. 中國礦業(yè)大學(xué)學(xué)報,2006,35(2):260-264.

        [3] 趙大偉,陳剛. 基于.NET的多條件組合查詢技術(shù)的設(shè)計與實現(xiàn)[J]. 電腦知識與技術(shù),2012,25(8):6045-6048.

        [4] 周千明,王巧俠,朱欣娟. 通用動態(tài)多條件查詢方法的研究與實現(xiàn)[J]. 電腦知識與技術(shù),2011,4(7):738-740.

        [5] 姜文軍,佟學(xué)輝. 病案管理系統(tǒng)中任意條件查詢的實現(xiàn)[J]. 計算機時代,2003,09:34-35.

        猜你喜歡
        表單語句表格
        《現(xiàn)代臨床醫(yī)學(xué)》來稿表格要求
        電子表單系統(tǒng)應(yīng)用分析
        華東科技(2021年9期)2021-09-23 02:15:24
        重點:語句銜接
        統(tǒng)計表格的要求
        統(tǒng)計表格的要求
        統(tǒng)計表格的要求
        淺談網(wǎng)頁制作中表單的教學(xué)
        精彩語句
        如何搞定語句銜接題
        語文知識(2014年4期)2014-02-28 21:59:52
        基于Infopath實現(xiàn)WEB動態(tài)表單的研究
        電子世界(2012年24期)2012-12-17 10:49:06
        亚洲AV成人无码天堂| 内射合集对白在线| 国内精品久久久久影院一蜜桃 | 乱伦一区二| 八戒网站免费观看视频| 国产精品久久久久久久成人午夜 | 91极品尤物在线观看播放| 日日高潮夜夜爽高清视频| 日本高清乱码中文字幕| 中文字幕乱偷无码av先锋蜜桃 | 禁止免费无码网站| 国产精品美女主播一区二区| 精品卡一卡二卡3卡高清乱码| 大地资源在线观看官网第三页| 天堂sv在线最新版在线| japanese色国产在线看视频| 女女同女同一区二区三区| 本道天堂成在人线av无码免费 | 日本一极品久久99精品| 国产午夜三级精品久久久| 夜夜高潮夜夜爽夜夜爱爱一区| 久久精品夜色国产亚洲av| 无码欧亚熟妇人妻AV在线外遇 | 国产精品亚洲专区无码web| 午夜一区二区三区在线观看| 黄色国产精品福利刺激午夜片| 日本边添边摸边做边爱| 国产美女久久精品香蕉69| 亚洲成av人最新无码| 岛国av一区二区三区| 91精品国产92久久久| 日日澡夜夜澡人人高潮| 国产在线精品福利大全| 久久精品这里就是精品| 黑人老外3p爽粗大免费看视频| 极品粉嫩小泬无遮挡20p| 久久亚洲日本免费高清一区| 亚洲熟女av在线观看| 又硬又粗进去好爽免费| 亚洲欧洲偷自拍图片区| 超清无码AV丝袜片在线观看|