機房收費係統之組合查詢
增刪改查,數據庫中最基本的四個操作。不論是學生信息管理係統,還是機房收費係統,它們一個都不少。這一次,就來說說“查”。剛開始,看到機房收費係統的查詢,傻眼了,橫看,四個Label框,所謂的查詢條件;豎看,多個文本框、組合框。
在運行了很多次係統之後,終於越來越有思路了。
首先,我們很清楚查詢的兩種形式:簡單查詢和組合查詢。這兩者的劃分,組合關係的選擇就是關鍵了。
所以,根據上麵所給的各個控件,我們可以自由選擇是簡單查詢還是組合查詢。不管做什麼,思路很重要,思路決定出路。下麵是自己對組合查詢的思路梳理:
簡單地說,也就是如果想要進行組合查詢,在將查詢條件填寫完整的前提下,必須將組合關係也填寫上,否則,查詢失敗。
下麵是關於查詢的代碼,自己也是采用了兩種方法運行。也就是采用了不同的方法將文本框中的字段轉換為SQL中的字段,即是否調用函數。
一.直接寫查詢代碼。
首先進行轉化:
<span ><strong>'將組合框中的選中字段轉化為SQL語句中的字段 If comboFieldOne.Text = "卡號" Then comboFieldOne.Tag = "UserCardID" If comboFieldOne.Text = "學號" Then comboFieldOne.Tag = "ClassNo" If comboFieldOne.Text = "姓名" Then comboFieldOne.Tag = "UserName" If comboFieldOne.Text = "性別" Then comboFieldOne.Tag = "sex" If comboFieldOne.Text = "性別" Then MsgBox "請填寫男、女", vbOKOnly + vbExclamation, "警告" If comboFieldOne.Text = "係別" Then comboFieldOne.Tag = "Department" If comboFieldOne.Text = "年級" Then comboFieldOne.Tag = "grade" If comboFieldOne.Text = "班級" Then comboFieldOne.Tag = "class"</strong></span>
接著進行查詢:
<span ><strong>'判斷已選擇準確的查詢條件一 If comboFieldOne.Text = "" Then MsgBox "字段不能為空,請輸入第一個查詢字段!", vbOKOnly + vbExclamation, "警告" comboFieldOne.SetFocus Exit Sub Else If comboOperationOne.Text = "" Then MsgBox "操作符不能為空,請輸入第一個操作符!", vbOKOnly + vbExclamation, "警告" comboOperationOne.SetFocus Exit Sub Else If txtInquireOne.Text = "" Then MsgBox "查詢內容不能為空,請輸入第一個查詢內容!", vbOKOnly + vbExclamation, "警告" txtInquireOne.SetFocus Exit Sub End If End If '查詢語句一 strTxtSQL = "select * from tb_StudentInformation where (" & comboFieldOne.Tag & comboOperationOne.Text & "'" & txtInquireOne.Text & "'" </strong></span>
每選擇一個查詢條件,隻要將strTxtSQL語句聯結即可。
二.調用函數編寫的代碼。
<span ><strong>Public Function FieldName(StrFieldName As String) As String '判斷選擇字段函數 Select Case StrFieldName Case "卡號" FieldName = "UserCardID" Case "姓名" FieldName = " UserName" Case "上機日期" FieldName = "OnlineDate" Case "上機時間" FieldName = "OnlineTime" Case "下機日期" FieldName = "LineDate" Case "下機時間" FieldName = "LineTime" Case "消費金額" FieldName = "Cost" Case "餘額" FieldName = "ExtraMoney" Case "備注" FieldName = "Comment" 。。。。。。 End Select End Function Public Function ComboInquire(StrCombo As String) As Boolean '定義函數:判斷是否是組合查詢 If StrCombo = "" Then ComboInquire = False Else ComboInquire = True End If End Function</strong></span>
兩者本質上其實一樣,隻是采用第二種,代碼量不大。
上麵的是機房收費係統的查詢,下麵不如拿它和學生管理的查詢比較一下。
應該都記得,學生中的查詢走到哪兒都是這三個複選框,可以選擇多個,也可以隻選擇一個。這就看到了機房查詢和它的相同之處了。
查詢語句都是單個SQL或者多個SQL間的聯結。
學生查詢SQL句:
機房查詢SQL句:
這一路,還是不要瞎想,還是不要恐懼,隻要去做,什麼都可以的。
最後更新:2017-04-03 05:39:53
上一篇:
Android Lint的使用
下一篇:
java對象和json數據轉換實現方式1-使用json-lib實現
《HttpClient官方文檔》2.8 HttpClient代理配置
視頻直播應該怎麼選擇服務器
比較C語言標準I/O與*nix係統I/O的異同
System.BadImageFormatException: 未能加載文件或程序集“Oracle.DataAccess”或它的某一個依賴項。試圖加載格式不正確的程序。
poj1523 割頂
《Linux From Scratch》第二部分:準備構建 第五章:構建臨時文件係統- 5.34. Xz-5.2.0
1.順序表的查找運算
阿裏雲前端周刊 - 第 14 期
當計算停留著網格內 Mellanox用智能網絡助跑AI
API Demos 2.3 學習筆記 (10)-- Views->WebView