【正文】
= Int(Val() * Val() + ) Else = Int(Val() * Val() / 2 + ) End If While Not If Year(Text12) = Year(Date) And Month(Text12) = And Day(Text12) = And = And = F Then sum = sum + 1 End If Wend = sum + 1 While Not If Year(Text12) = Year(Date) And Month(Text12) = And Day(Text12) = And = And = T Then = flag = T Else 26 End If Wend While Not If Year() = Year(Date) And Month() = And Day() = And = Then sum = sum + Val() End If Wend cc = 車次 =39。 cc cc = 站名 =39。 Val() = = 24 = = = = End Sub Private Sub Combo2_LostFocus() If Val() Mod 2 = 0 Then If Val(( 1)) = 31 Then ( 1) End If Else If Val(( 1)) 31 Then 31 End If End If End Sub Private Sub DataGrid1_Click() Dim cc As String, sum As Integer sum = 0 If Month(Date) = And Day(Date) = Then If (Hour() Hour(Now)) * 60 + Minute() Minute(Now) 5 Then MsgBox 已接近開車 ,停止售票 , 64, 錯(cuò)誤 = False 25 Else = True End If Else = True End If cc = 車型 =39。order by 發(fā)車時(shí)間 asc = zm = End Sub Private Sub Cmdok_Click() If flag = T Then While Not If Year(Text12) = Year(Date) And Month(Text12) = And Day(Text12) = And = And Text3 .Text = Then = F flag = F Else End If Wend End If = Year(Date) amp。 username2 If Then MsgBox 用戶名錯(cuò)誤請(qǐng)重輸 , 16, 錯(cuò)誤 Else If Then MsgBox 密碼錯(cuò)誤請(qǐng)重輸 , 16, 錯(cuò)誤 = Else 22 End If End If End If End If End If End Sub 售票管理界面編碼設(shè)計(jì) 圖 “售票管理”功能界面 Dim flag As String Private Sub Cmdfind_Click() 23 Dim zm As String = = = zm = select 發(fā)車時(shí)刻表 .車次 ,途徑表 .站名 ,車型 ,發(fā)車時(shí)間 ,檢票口 ,發(fā)車時(shí)刻表 .站名 as 班車 from 發(fā)車時(shí)刻表 ,途徑表 ,車輛 w here 發(fā)車時(shí)刻表 .車次 =途徑表 .車次 and 發(fā)車時(shí)刻表 .車輛編號(hào) =車輛 .車輛編號(hào) and 途徑表 .站名 =39。 username2 If Then MsgBox 用戶名錯(cuò)誤請(qǐng)重輸 , 16, 錯(cuò)誤 Else If Then MsgBox 密碼錯(cuò)誤請(qǐng)重輸 , 16, 錯(cuò)誤 = Else End If End If End If Else If Then Set = Adodc2 = 口令 If username1 Then username2 = 工號(hào) =39。 登陸界面編碼設(shè)計(jì) 首先是進(jìn)入登陸界面,如圖 所示 圖 登陸界面 Private Sub Cmdexit_Click() End End Sub Private Sub Cmdok_Click() Dim username1 As String, username2 As String username1 = 21 If Then Set = Adodc1 = 口令 If username1 Then username2 = 用戶名 =39。 Connection String 屬性 :是一個(gè)字符串,可以包含進(jìn)行一個(gè)連接所需的所有設(shè)置值,在該字符串中所傳遞的參數(shù)是與驅(qū)動(dòng)程序相關(guān)的。 19 ? 將數(shù)據(jù) 字段的數(shù)值傳遞給數(shù)據(jù)綁定的控件,可以在這些控件中顯示或更改這些數(shù)值。 ADO 數(shù)據(jù)控件的功能 ADO data 控件使用 ActiveX 數(shù)據(jù)對(duì)象( ADO)來快速建立數(shù)據(jù)約束控件和數(shù)據(jù)提供者之間的連接,并快速創(chuàng)建記錄集,然后將數(shù)據(jù)通過數(shù)據(jù)約束控件提供給用戶,其中數(shù)據(jù)約束控件可以是任何具有“數(shù)據(jù)源”屬性的控件,而數(shù)據(jù)提供者可以是符合 OLE DB 規(guī)范的數(shù)據(jù)源。與其他的數(shù)據(jù)訪問對(duì)象相比,包含在ADO 的對(duì)象少得多,也更加容易使用。 Visual Basic 可以很好地支持 ADO 和 OLE DB 數(shù)據(jù)訪問模式。 ER 圖 關(guān)系模式 車輛( 車輛編號(hào) , 車型 ,座位數(shù)) 車輛 目標(biāo)站名 開往 車輛編號(hào) 車型 座位數(shù) 車次 發(fā)車時(shí)間 檢票口 站名 里程 n m 姓名 車票 售票員 售票 票號(hào) 預(yù)訂 顧客 車次 站名 票價(jià) 座位號(hào) 全半價(jià) 乘車日 期 工號(hào) 站名 車次 預(yù)訂號(hào) 顧客名稱 退票 退票時(shí)間 計(jì)費(fèi) 運(yùn)價(jià) 車型 價(jià)格 n n n n 1 1 1 1 票價(jià) 應(yīng)退款 退票否 乘車日期 主鍵 : 外鍵 :: 16 目標(biāo)站名( 站名 ,里程) 發(fā)車時(shí)刻表( 車次 , 站名 , 車輛編號(hào) ,發(fā)車時(shí)間,檢票口)途徑( 車次 ,站名) 車票( 票號(hào) ,乘車日期, 車次 , 站名 ,票價(jià),全半價(jià),座位號(hào), 工號(hào),退票否) 預(yù)訂( 預(yù)訂號(hào) , 車次 , 站名 ,乘車日期,顧客名稱,票數(shù)) 退票( 票號(hào) ,退票時(shí)間,票價(jià),應(yīng)退款) 售票員( 工號(hào) ,姓名) 運(yùn)價(jià)( 車型 ,價(jià)格) 數(shù)據(jù)詞典設(shè)計(jì) 該軟件的數(shù)據(jù)庫名稱為“車站售票管理系統(tǒng)” . 車輛表: 字段名 類型 長度 小數(shù)點(diǎn) 允許空 主 /外鍵 車輛編號(hào) Int 4 主 車型 Varchar 8 座位數(shù) smallInt 2 目標(biāo)站名: 字段名 類型 長度 小數(shù)點(diǎn) 允許空 主 /外鍵 站名 Varchar 10 主 里程 Int 4 發(fā)車時(shí)刻表: 字段名 類型 長度 小數(shù)點(diǎn) 允許空 主 /外鍵 車次 Va rchar 5 主 站名 Varchar 10 外 車輛編號(hào) Int 4 外 發(fā)車時(shí)間 Datetime 8 檢票口 smallInt 2 途徑表: 字段名 類型 長度 小數(shù)點(diǎn) 允許空 主 /外鍵 車次 Varchar 5 主 站名 Varchar 10 外 17 車票表: 字段名 類型 長度 小數(shù)點(diǎn) 允許空 主 /外鍵 票號(hào) Int 4 主 乘車日期 Datetime 8 車次 Varchar 5 外 站名 Varchar 10 外 票價(jià) Float 8 全半價(jià) Char 2 座位號(hào) smallInt 2 工號(hào) Char 3 退票否 Char 1 預(yù)訂表: 字段名 類型 長度 小數(shù)點(diǎn) 允許空 主 /外鍵 預(yù)訂號(hào) Int 4 主 車次 Varchar 5 外 站名 Varchar 10 外 乘車日期 Datetime 8 顧客名稱 Varchar 20 票數(shù) smallInt 2 退票表: 字段名 類型 長度 小數(shù)點(diǎn) 允許空 主 /外鍵 票號(hào) Int 4 主 退票時(shí)間 Datetime 8 票價(jià) Float 8 應(yīng)退款 Float 8 售票員表: 字段名 類型 長度 小數(shù)點(diǎn) 允許空 主 /外鍵 工號(hào) Char 3 主 姓名 Char 8 運(yùn)價(jià)表: 字段名 類型 長度 小數(shù)點(diǎn) 允許空 主 /外鍵 車型 Varchar 8 主 價(jià)格 Float 8 18 使用 ADO 數(shù)據(jù)控件訪問數(shù)據(jù)庫 ADO(Active Data Objects)是一種新的數(shù)據(jù)訪問方式,具有以下特征: ? 有一個(gè)簡(jiǎn)化的對(duì)象模型 ? 與其他 Microsoft 和非 Microsoft 技術(shù)更加緊密的集成。收集基本數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)以及數(shù)據(jù)處理的流程,組成一份詳盡的數(shù)據(jù)字典,可以為后面的具體設(shè)計(jì)和開發(fā)打下堅(jiān)實(shí)的基礎(chǔ)。 13 數(shù)據(jù)庫需求分析 數(shù)據(jù)庫在一個(gè)信息管理系統(tǒng)中占有非常重要的地位,數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)的好壞將直接對(duì)應(yīng)用系統(tǒng) 的效率以及實(shí)現(xiàn)的效果產(chǎn)生影響。 查詢還可以對(duì)一組數(shù)據(jù)執(zhí)行操作,如更新或刪除某組記錄。 表是存放數(shù)據(jù)的容器,被設(shè)計(jì)成行和列的格式,就像電子表中的那樣。目前的 SQL Server 2021 是 Microsoft 強(qiáng)大的數(shù)據(jù)庫平臺(tái)的第六代產(chǎn)品,是 3 2 位 SQL Server 2021 的第三個(gè)版本。也是初學(xué)者常用的數(shù)據(jù)庫類型。 DBMS 通常由數(shù)據(jù)字典,數(shù)據(jù)描述語言及其編譯程序,數(shù)據(jù)操縱(查詢)語言及其編譯程序,數(shù)據(jù)庫管理例行程序等部分組成。 安全保密性。 可維護(hù)性和適應(yīng)性。 可靠性。 功能需求描述 根據(jù)實(shí)際情況,使用原型法( Rapid Prototyping)即以少量代價(jià)快速地構(gòu)造一個(gè)可執(zhí)行的軟件系統(tǒng)模型。設(shè)計(jì)從始至終貫穿著這樣的原則: 1. 以用戶需求為目標(biāo),以方便用戶為原則,系統(tǒng)將在統(tǒng)一的 WINDOWS 操作系統(tǒng)圖形界面下提供各種實(shí)用功能,盡可能降低使用前的學(xué)習(xí)、實(shí)施和使用中的維護(hù)時(shí)間。系統(tǒng)外部環(huán)境與內(nèi)部因素的變化,不斷影響系統(tǒng) 的運(yùn)行,這時(shí)就需要不斷地完善系統(tǒng),以提高系統(tǒng)運(yùn)行的效率與服務(wù)水平,這就需要從始至終地進(jìn)行系統(tǒng)的維護(hù)工作。數(shù)據(jù)準(zhǔn)備與錄入工作要注意數(shù)據(jù)的準(zhǔn)確性,在整理、錄入、校驗(yàn)等各個(gè)環(huán)節(jié)把好關(guān),為系統(tǒng)的順利轉(zhuǎn)換打好基礎(chǔ)。 在系統(tǒng)實(shí)施階段要成立系統(tǒng)實(shí)施工作量到小組,組織各專業(yè)小組組長和有關(guān)部門的領(lǐng)導(dǎo)共同編制新系統(tǒng)實(shí)施計(jì)劃。 結(jié)構(gòu)化系統(tǒng)設(shè)計(jì)是指利用一組標(biāo)準(zhǔn)的圖表工具和準(zhǔn)則,確定系