《運(yùn)輸行業(yè)管理系統(tǒng)》PPT課件.ppt
《《運(yùn)輸行業(yè)管理系統(tǒng)》PPT課件.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《《運(yùn)輸行業(yè)管理系統(tǒng)》PPT課件.ppt(76頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
運(yùn)輸行業(yè)管理系統(tǒng),系統(tǒng)分析,本系統(tǒng)的主要功能:◇記錄司機(jī)的基本資料,包括姓名、身份證號(hào)等基本信息。并將司機(jī)的資料存入司機(jī)檔案數(shù)據(jù)表DriverInfo,并可以對(duì)該表中的數(shù)據(jù)進(jìn)行修改、刪除及查詢。◇記錄車輛的基本信息,包括車號(hào)、隸屬車隊(duì)等基本信息。并將車輛的資料存入車輛檔案數(shù)據(jù)表CarInfo中,并可以對(duì)該表進(jìn)行修改、刪除及查詢?!髽I(yè)務(wù)管理-運(yùn)營業(yè)務(wù)記錄管理,即維護(hù)WorkRec表,包括運(yùn)行車輛ID、司機(jī)ID等屬性,并可執(zhí)行添加、修改、刪除和查詢等操作。◇業(yè)務(wù)管理-車輛維修記錄管理,即維護(hù)RepairRec數(shù)據(jù)表,并可執(zhí)行添加、修改、刪除和查詢等操作。◇業(yè)務(wù)管理-車輛違章記錄關(guān)系,即維護(hù)PecRec數(shù)據(jù)表,并可執(zhí)行添加、修改、刪除和查詢等操作?!髽I(yè)務(wù)管理-車輛事故記錄管理,即維護(hù)AccRec數(shù)據(jù)表,并可執(zhí)行添加、修改、刪除和查詢等操作?!竺咳兆詣?dòng)結(jié)算啟動(dòng)程序會(huì)自動(dòng)彈出昨日結(jié)算窗口,提示昨日收支及盈利情況,該窗口也可在程序運(yùn)行時(shí)調(diào)出。,系統(tǒng)設(shè)計(jì)思想,運(yùn)輸行業(yè)管理系統(tǒng),本例的運(yùn)輸行業(yè)管理系統(tǒng)應(yīng)用于某運(yùn)輸且的數(shù)字化管理,實(shí)現(xiàn)運(yùn)輸企業(yè)管理的易操作、可維護(hù)性等。首先要求系統(tǒng)能夠完整對(duì)司機(jī)檔案和車輛檔案的記錄和查詢等各種操作,為此,系統(tǒng)必須能夠維護(hù)兩個(gè)分別記錄司機(jī)檔案和車輛檔案詳細(xì)資料信息的數(shù)據(jù)表,能對(duì)該數(shù)據(jù)表進(jìn)行寫入和讀取數(shù)據(jù)的操作。此外,系統(tǒng)還要求記錄運(yùn)輸企業(yè)日常運(yùn)營的各項(xiàng)業(yè)務(wù),這樣系統(tǒng)還需要維護(hù)域日常業(yè)務(wù)相關(guān)的車輛運(yùn)營記錄表、車輛維修記錄表、車輛違章記錄表和車輛事故記錄表等。系統(tǒng)數(shù)據(jù)庫訪問的實(shí)現(xiàn)方式主要通過ADODC控件對(duì)數(shù)據(jù)庫進(jìn)行讀、寫和查詢。,系統(tǒng)結(jié)構(gòu)設(shè)計(jì),運(yùn)輸行業(yè)管理系統(tǒng),,數(shù)據(jù)庫,數(shù)據(jù)庫需求分析,運(yùn)輸行業(yè)管理系統(tǒng),◆用戶可維護(hù)司機(jī)檔案,進(jìn)行添加、修改和刪除操作,并能通過姓名、身份證號(hào)、性別、司機(jī)工號(hào)及備注等項(xiàng)目對(duì)司機(jī)檔案進(jìn)行查詢?!羲緳C(jī)ID必須唯一?!粲脩艨蓪?duì)車輛檔案進(jìn)行添加、修改和刪除操作,并能通過車號(hào)、車輛是否年檢、是否有車險(xiǎn)及備注等對(duì)車輛檔案進(jìn)行查詢?!糗囕vID必須唯一?!粲脩艨蓪?duì)車輛運(yùn)營記錄進(jìn)行添加、修改和刪除操作,并能通過車輛ID,司機(jī)ID,運(yùn)營日期及備注等對(duì)車輛運(yùn)營記錄進(jìn)行查詢?!粲脩艨蓪?duì)車輛維修記錄進(jìn)行查詢、修改和刪除操作,并能通過車輛ID,維修日期及備注等對(duì)車輛維修記錄進(jìn)行查詢?!粲脩艨蓪?duì)車輛違章記錄進(jìn)行添加、修改和刪除操作,并能通過車輛ID,司機(jī)ID,車輛違章日期及備注等對(duì)車輛違章記錄進(jìn)行查詢?!粲脩艨蓪?duì)車輛事故記錄進(jìn)行添加、修改和刪除操作,并通過車輛ID,司機(jī)ID、事故日期及備注等對(duì)車輛事故記錄進(jìn)行查詢?!羯鲜鰯?shù)據(jù)中,車輛運(yùn)營記錄、車輛維修記錄、車輛違章記錄和車輛事故記錄中的司機(jī)ID和車輛ID必須與司機(jī)檔案中的司機(jī)ID,車輛檔案中的車輛ID相關(guān)聯(lián)。,數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì),運(yùn)輸行業(yè)管理系統(tǒng),司機(jī)檔案實(shí)體(司機(jī)檔案ID,司機(jī)姓名,司機(jī)身份證號(hào),司機(jī)性別,司機(jī)出生日期,司機(jī)工號(hào),司機(jī)電話,隸屬車隊(duì)名,司機(jī)駕照號(hào),駕照截止日期,備注),車輛檔案實(shí)體(車輛檔案ID,車號(hào),隸屬車隊(duì)名,車輛購買日期,是否年檢,是否車險(xiǎn),備注),運(yùn)輸行業(yè)管理系統(tǒng),數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì),其余E-R圖請見書P10~P11,數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì),運(yùn)輸行業(yè)管理系統(tǒng),司機(jī)檔案數(shù)據(jù)表,運(yùn)輸行業(yè)管理系統(tǒng),數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì),車輛檔案數(shù)據(jù)表,其余表請見書P12~P13,表之間的關(guān)系,運(yùn)輸行業(yè)管理系統(tǒng),運(yùn)輸行業(yè)管理系統(tǒng),數(shù)據(jù)庫的連接,以Access數(shù)據(jù)庫系統(tǒng)為例,連接數(shù)據(jù)庫需要用到ADODC控件1ADODC控件的添加選擇菜單命令【工程】→【部件】,彈出“部件對(duì)話框”,選擇MicrosoftADODataControl6.0(OLEDB),運(yùn)輸行業(yè)管理系統(tǒng),數(shù)據(jù)庫的連接,2添加引用選擇【工程】→【引用】,在彈出的“引用”對(duì)話框中選擇MicrosoftActiveXDataObject2.0library。,部件添加說明,ToolBar、ImageList:MicrosoftWindowsCommonControls6.0,DTPicker:MicrosoftWindowsCommonControls-26.0,ADODC:MicrosoftADODataControl6.0(OLEDB),DataGrid:MicrosoftDataGridControl6.0(OLEDB),SSTable:MicrosoftTabbedDialogControl6.0,MicrosoftAxtivexDataObjects2.0,引用添加說明,系統(tǒng)實(shí)施,運(yùn)輸行業(yè)管理系統(tǒng),公共模塊,1新建工程新建EXE工程,保存。2添加MicrosoftADODataControl6.0部件和MicrosoftActiveXDataObject2.0library引用。3定義全局變量添加公共模塊,定義全局變量,用于數(shù)據(jù)庫操作。PublicDBCnAsNewADODB.ConnectionPublicCnStrAsStringADODB.Connection,用于連接、打開數(shù)據(jù)庫,界面設(shè)計(jì),運(yùn)輸行業(yè)管理系統(tǒng),1設(shè)計(jì)歡迎界面,歡迎界面用于進(jìn)行提示,用戶單擊進(jìn)入系統(tǒng)。,歡迎界面屬性及控件見書P18表1-7,運(yùn)輸行業(yè)管理系統(tǒng),【工程】→【添加窗體】,添加一個(gè)窗體,命令為FormLogin,設(shè)置其屬性。需要說明:在窗體的Load事件中(1)App對(duì)象是通過關(guān)鍵字App訪問的全局對(duì)象。它指定如下信息:應(yīng)用程序的標(biāo)題、版本信息、可執(zhí)行文件和幫助文件的路徑及名稱以及是否運(yùn)行前一個(gè)應(yīng)用程序的示例。(2)PrevInstance屬性返回一個(gè)值,該值指示是否已經(jīng)有前一個(gè)應(yīng)用程序?qū)嵗谶\(yùn)行。語法:object.PrevInstance。object所在處代表一個(gè)對(duì)象表達(dá)式,其值是“應(yīng)用于”列表中的一個(gè)對(duì)象。IfApp.PrevInstanceThenMsgBox"您已經(jīng)啟動(dòng)過了本程序!",,"運(yùn)輸行業(yè)管理系統(tǒng)"EndEndIf(3)在LableEnter控件的單擊事件中添加啟動(dòng)主窗體代碼UnloadMeMDIFrm.Show,添加歡迎界面的過程,PrivateSubForm_Load()IfApp.PrevInstanceThenMsgBox"您已經(jīng)啟動(dòng)過了本程序!",,"運(yùn)輸管理系統(tǒng)"EndEndIfEndSubPrivateSubImage1_Click()UnloadMeMainFrm.ShowEndSub,2系統(tǒng)主界面布局設(shè)計(jì)主界面主要包括菜單、工具欄和程序主窗口。有以下功能:調(diào)用各子窗口。關(guān)于界面。退出系統(tǒng)?!竟こ獭俊咎砑覯DI窗體】,添加一個(gè)MDI窗體。工程中的MDI窗體時(shí)唯一的。添加了MDI窗體后,工程中的“添加MDI窗體”子菜單變?yōu)榛疑豢捎?。窗體控件見P19表1-8注意:添加ToolBar和ImageList之前,必須添加部件MicrosoftWindowsCommonControls6.0,界面設(shè)計(jì),運(yùn)輸行業(yè)管理系統(tǒng),3編輯主界面菜單【工具】->【菜單編輯器】,添加菜單主界面菜單設(shè)置見書P19表1-94系統(tǒng)主界面工具欄編輯ImageList控件,添加圖片,用戶和工具欄上的各個(gè)按鈕綁定。編輯Toolbar控件,添加按鈕。按鈕屬性設(shè)置見P21表1-10,界面設(shè)計(jì),運(yùn)輸行業(yè)管理系統(tǒng),界面設(shè)計(jì),運(yùn)輸行業(yè)管理系統(tǒng),運(yùn)輸行業(yè)管理系統(tǒng),系統(tǒng)主界面實(shí)現(xiàn),PrivateSubMDIForm_Load()設(shè)置數(shù)據(jù)庫連接字符串CnStr="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=C:\DocumentsandSettings\Administrator\桌面\信息系統(tǒng)分析與設(shè)計(jì)教學(xué)相關(guān)資料\代碼\運(yùn)輸行業(yè)管理系統(tǒng)\Transportation.mdb;PersistSecurityInfo=False"連接數(shù)據(jù)庫DBCn.OpenCnStr日結(jié)算自動(dòng)提示FormBal.ShowMe.WindowState=2’窗體最大化EndSub,運(yùn)輸行業(yè)管理系統(tǒng),系統(tǒng)主界面實(shí)現(xiàn),添加響應(yīng)菜單,PrivateSubOpe_Acc_Man_Click()FromAcc.ShowFromAcc.SSTab1.Tab=0FromAcc.SetFocusEndSubPrivateSubOpe_Acc_Query_Click()FromAcc.ShowFromAcc.SSTab1.Tab=1FromAcc.SetFocusEndSubPrivateSubOpe_Pec_Man_Click()FromPec.ShowFromPec.SSTab1.Tab=0FromPec.SetFocusEndSub……,運(yùn)輸行業(yè)管理系統(tǒng),系統(tǒng)主界面實(shí)現(xiàn),添加工具欄響應(yīng)函數(shù),PrivateSubToolbar1_ButtonClick(ByValButtonAsMSComctlLib.Button)SelectCaseButton.Key司機(jī)檔案Case“Key_Dri“此關(guān)鍵字即為設(shè)計(jì)工具欄按鈕時(shí)指定的關(guān)鍵字CallDri_Man_Click這個(gè)函數(shù)名稱為菜單響應(yīng)函數(shù)名,這樣菜單操作和工具欄上的按鈕操作就可以共享同一段代碼車輛檔案Case"Key_Car"CallCar_Man_Click運(yùn)營管理Case"Key_Work"CallOpe_Work_Man_Click維修記錄Case"Key_Rep"CallOpe_Rep_Man_Click……EndSelectEndSub,運(yùn)輸行業(yè)管理系統(tǒng),司機(jī)檔案管理模塊,一、界面設(shè)計(jì),控件詳細(xì)信息見書P26表1-11注意窗體的MDIChild屬性為True,TxtName,TxtNum,OptSex,DTPBir,TxtWorkNum,TxtRemark,TxtTel,TxtTeam,TxtLicenceNum,DTPLicDate,DataGrid1,運(yùn)輸行業(yè)管理系統(tǒng),司機(jī)檔案管理模塊,部件添加說明,ToolBar、ImageList:MicrosoftWindowsCommonControls6.0,DTPicker:MicrosoftWindowsCommonControls-26.0,ADODC:MicrosoftADODataControl6.0(OLEDB),DataGrid:MicrosoftDataGridControl6.0(OLEDB),SSTable:MicrosoftTabbedDialogControl6.0,MicrosoftAxtivexDataObjects2.0,引用添加說明,運(yùn)輸行業(yè)管理系統(tǒng),司機(jī)檔案管理模塊,司機(jī)檔案查詢界面設(shè)計(jì),,OptionButton,,TextBox,運(yùn)輸行業(yè)管理系統(tǒng),司機(jī)檔案管理模塊,,ListView,OptQue,,TxtQueName,TxtQueNum,OptQueSex,TxtQueWorkNum,TxtQueRemark,LvResult,運(yùn)輸行業(yè)管理系統(tǒng),司機(jī)檔案管理模塊,司機(jī)檔案表結(jié)構(gòu),在顯示查詢結(jié)果的ListView控件中添加上述給列,用于表示查詢出來的信息分量的意義。,運(yùn)輸行業(yè)管理系統(tǒng),司機(jī)檔案管理模塊,(1)右鍵點(diǎn)擊ListView,選擇屬性,,,(2)點(diǎn)擊插入列,(3)輸入列標(biāo)題,,(4)指定列寬度,,(5)重復(fù)上述步驟,將所有的列插入,運(yùn)輸行業(yè)管理系統(tǒng),司機(jī)檔案管理模塊,在任何一個(gè)窗體或選項(xiàng)卡中,只能有一組單選鈕,每次也只能選擇界面上單選鈕中的一個(gè)。要同時(shí)實(shí)現(xiàn)多組單選鈕,可以采用Frame(框架)控件,將多組單選鈕放在不同的框架中即可,在查詢選項(xiàng)卡中,查詢結(jié)果控件和其余的控件重疊,可以采用“置前”和“置后”命令對(duì)它進(jìn)行調(diào)整,然后配合其Visible屬性進(jìn)行控制。,界面設(shè)計(jì)技巧,運(yùn)輸行業(yè)管理系統(tǒng),司機(jī)檔案管理模塊,司機(jī)檔案管理窗體初始化過程,初始化ADODC控件,連接數(shù)據(jù)庫,設(shè)置列首Adodc1.ConnectionString=CnStr’設(shè)置連接字符串Adodc1.RecordSource=“SelectDriverIDas司機(jī)ID,”&_’設(shè)置數(shù)據(jù)集"DriverNameas姓名,"&_"DriverNumas身份證號(hào),"&_"DriverSexas性別,"&_"DriverBiras出生日期,"&_"DriverWorkNumas工號(hào),"&_"DriverTelas電話,"&_"DriverTeamas隸屬車隊(duì),"&_"DriverLicenceNumas司機(jī)駕照號(hào),"&_"DriverLicenceDateas駕照截止日期,"&_"Remarkas備注"&_"FromDriverInfo"Debug.PrintAdodc1.RecordSource將DataGrid控件與ADODC控件綁定SetDataGrid1.DataSource=Adodc1’,進(jìn)入“司機(jī)檔案”界面首先要對(duì)ADODC控件和DataGrid控件進(jìn)行初始化,這部分代碼在窗體的Load事件內(nèi)實(shí)現(xiàn)。,Form_Load(),運(yùn)輸行業(yè)管理系統(tǒng),司機(jī)檔案管理模塊,PrivateSubDataGrid1_RowColChange(LastRowAsVariant,ByValLastColAsInteger)檢驗(yàn)是否為空行IfDataGrid1.Columns(0).Text=“”Then’DataGrid1.Columns(0)為司機(jī)IDExitSubEndIf將DataGrid中數(shù)據(jù)讀入各個(gè)控件顯示數(shù)據(jù)內(nèi)容Me.TxtName.Text=DataGrid1.Columns(1).TextMe.TxtNum.Text=DataGrid1.Columns(2).TextIfDataGrid1.Columns(3).Text=0ThenMe.OptSex(0).Value=TrueElseMe.OptSex(1).Value=TrueEndIfMe.DTPBir.Value=DataGrid1.Columns(4).TextMe.TxtWorkNum.Text=DataGrid1.Columns(5).TextMe.TxtTel.Text=DataGrid1.Columns(6).TextMe.TxtTream.Text=DataGrid1.Columns(7).TextMe.TxtLicenceNum.Text=DataGrid1.Columns(8).TextMe.DTPLicDate.Value=DataGrid1.Columns(9).TextMe.TxtRemark.Text=DataGrid1.Columns(10).TextEndSub,運(yùn)輸行業(yè)管理系統(tǒng),司機(jī)檔案管理模塊,添加司機(jī)檔案,,點(diǎn)擊添加,運(yùn)輸行業(yè)管理系統(tǒng),司機(jī)檔案管理模塊,添加司機(jī)檔案,1檢查輸入信息是否正確,2根據(jù)輸入信息構(gòu)造SQL語句,3執(zhí)行SQL語句,沒有輸入司機(jī)姓名IfLen(Trim(Me.TxtName.Text))<=0ThenMsgBox"請輸入司機(jī)姓名!",,"添加司機(jī)檔案"ExitSubEndIf,運(yùn)輸行業(yè)管理系統(tǒng),司機(jī)檔案管理模塊,檢查輸入信息是否正確(P31),String.trimClassOverview|ClassMembers|ThisPackage|AllPackagesSyntaxpublicStringtrim()Returnsthisstring,withwhitespaceremovedfromthefrontandend.DescriptionRemoveswhitespacefrombothendsofthisstring.,,‘Len()返回Long,其中包含字符串內(nèi)字符的數(shù)目,,輸入司機(jī)姓名不正確IfLen(Trim(Me.TxtName.Text))4ThenMsgBox“輸入司機(jī)姓名不正確!",,"添加司機(jī)檔案"ExitSubEndIf……,運(yùn)輸行業(yè)管理系統(tǒng),司機(jī)檔案管理模塊,檢查輸入信息是否正確,SqlStr="INSERTINTODriverInfo"SqlStr=SqlStr",運(yùn)輸行業(yè)管理系統(tǒng),司機(jī)檔案管理模塊,DBCn.ExecuteSqlStr’執(zhí)行SQL語句,構(gòu)造SQL語句,運(yùn)輸行業(yè)管理系統(tǒng),司機(jī)檔案管理模塊,在執(zhí)行SQL語句時(shí),對(duì)字符串的引用都要用左右兩個(gè)單引號(hào)分割,而程序會(huì)把字符串中的單引號(hào)看做是SQL語句的分隔符來處理,如果字符串中含有單引號(hào),需要用兩個(gè)單引號(hào)來代替一個(gè)單引號(hào),可以用Replace()函數(shù)來替換。,Remark=Replace(Trim(Me.TxtRemark.Text),”’”,”’’”),PrivateSubCmdAdd_Click()DimDriverSexAsIntegerDimrsAddAsNewADODB.RecordsetDimSqlStrAsStringDimRemarkAsString首先檢驗(yàn)輸入沒有輸入司機(jī)姓名IfLen(Trim(Me.TxtName.Text))4ThenMsgBox"輸入司機(jī)姓名不正確!",,"添加司機(jī)檔案"ExitSubEndIf沒有輸入身份證號(hào)IfLen(Trim(Me.TxtNum.Text))18ThenMsgBox"身份證號(hào)不正確,請輸入18位身份證號(hào)!",,"添加司機(jī)檔案"ExitSubEndIf,沒有選擇司機(jī)性別IfMe.OptSex(0).Value=FalseAndMe.OptSex(1).Value=FalseThenMsgBox"請選擇司機(jī)性別!",,"添加司機(jī)檔案"ExitSubEndIf沒有輸入司機(jī)工號(hào)IfLen(Trim(Me.TxtWorkNum.Text))11ThenMsgBox"輸入的電話不正確,請輸入11位電話號(hào)碼!",,"添加司機(jī)檔案"ExitSubEndIf沒有輸入隸屬車隊(duì)名IfLen(Trim(Me.TxtTeam.Text))<=0ThenMsgBox"請輸入隸屬車隊(duì)名!",,"添加司機(jī)檔案"ExitSubEndIf,沒有輸入司機(jī)駕照號(hào)IfLen(Trim(Me.TxtLicenceNum.Text))4ThenMsgBox"司機(jī)姓名長度超出范圍!",,"查詢司機(jī)檔案"ExitSubEndIf生成查詢語句Questr="select*fromDriverInfowhereDriverNameLike%"&DriverName&"%",DimRsQueryAsNewADODB.Recordset’結(jié)果集對(duì)象,司機(jī)檔案查詢部分代碼(P36),RsQuery.OpenQuestr,DBCn,adOpenStatic,adLockOptimistic顯示查詢結(jié)果IfRsQuery.EOFThenMsgBox"數(shù)據(jù)庫中沒有符合要求的記錄!",,"查詢司機(jī)檔案"ExitSubEndIf,打開數(shù)據(jù)集,運(yùn)輸行業(yè)管理系統(tǒng),司機(jī)檔案查詢模塊,adOpenStatic向前游標(biāo),adOpenKeyset鍵集游標(biāo)adLockOptimistic設(shè)置窗口為固定的大小,RsQuery.MoveFirst’數(shù)據(jù)集指針指向第一個(gè)記錄RsQuery.REcordCount’數(shù)據(jù)集中記錄的個(gè)數(shù)RsQuery.MoveNext’數(shù)據(jù)集指向下一條記錄,查詢串,,連接對(duì)象,,ADODB.Recordset.Open中參數(shù)的用法Recordset對(duì)象的Open方法原型:Open([Source],[ActiveConnection],[CursorType],[LockType],[Options])CursorType游標(biāo)類型:ConstadOpenForwardOnly=0前向游標(biāo),為缺省游標(biāo),提供最快的運(yùn)行性能。用它打開recordset,從對(duì)至尾順序取得所有結(jié)果。它不支持向后滾動(dòng),只允許在結(jié)果間單向移動(dòng)。ConstadOpenKeyset=1靜態(tài)游標(biāo),反映第一次打開游標(biāo)時(shí)表中數(shù)據(jù)的狀態(tài),游標(biāo)無法查明底層表中的數(shù)據(jù)行是否更新過、刪除過或添加了新的數(shù)據(jù)。不過與只能前移的洲標(biāo)不同,靜態(tài)游標(biāo)可以在結(jié)果間前后滾動(dòng)。ConstadOpenDynamic=2鍵盤驅(qū)動(dòng)的游標(biāo),可以查詢表中底層數(shù)據(jù)行的某些變化,但不是全部。它特別是可以準(zhǔn)確反映數(shù)據(jù)是否更新過。但它不能查明其它用戶是否曾刪除過數(shù)據(jù)行(刪除掉的數(shù)據(jù)行在recordset中會(huì)留下空洞)。鍵盤驅(qū)動(dòng)的游標(biāo)支持在結(jié)果間前后滾動(dòng)。ConstadOpenStatic=3動(dòng)態(tài)游標(biāo),是最豐富的游標(biāo)類型。游標(biāo)打開時(shí)可以查詢其他用戶對(duì)表的任何改動(dòng),而且支持滾動(dòng)。,LockType加鎖類型:ConstadLockReadOnly=1缺省的上鎖類型,只讀方式上鎖允許多個(gè)用戶同時(shí)讀取同樣的數(shù)據(jù),但不能改變數(shù)據(jù)。ConstadLockPessimistic=2以悲觀上鎖方式打開數(shù)據(jù)對(duì)象。該方式假定在你編輯記錄時(shí)會(huì)有其它用戶訪問數(shù)據(jù)。此時(shí)一旦你開始編輯記錄,其它用戶就不能訪問該數(shù)據(jù)。ConstadLockOptimistic=3以樂觀上鎖方式打開數(shù)據(jù)對(duì)象。該方式假定在你編輯記錄時(shí)不會(huì)有其它用戶訪問數(shù)據(jù)。在完成改變之前,其它用戶不能訪問該記錄。ConstadLockBatchOptimistic=4執(zhí)行多行批處理更新時(shí)使用這種類型Options參數(shù):Options參數(shù)標(biāo)明用來打開記錄集的命令字符串的類型。告訴ADO被執(zhí)行的字符串內(nèi)容的有關(guān)信息有助于高效地執(zhí)行該命令字符串。adCMDTable。被執(zhí)行的字符串包含一個(gè)表的名字。adCMDText。被執(zhí)行的字符串包含一個(gè)命令文本。adCMDStoredProc。被執(zhí)行的字符串包含一個(gè)存儲(chǔ)過程名。adCMDUnknown。不指定字符串的內(nèi)容。(這是缺省值。),RS.OPENSQL,CONN,A,BA:ADOPENFORWARDONLY(=0)只讀,且當(dāng)前數(shù)據(jù)記錄只能向下移動(dòng)ADOPENSTATIC(=3)只讀,當(dāng)前數(shù)據(jù)記錄可自由移動(dòng)ADOPENKEYSET(=1)可讀寫,當(dāng)前數(shù)據(jù)記錄可自由移動(dòng)ADOPENDYNAMIC(=2)可讀寫,當(dāng)前數(shù)據(jù)記錄可自由移動(dòng),可看到新增記錄B:ADLOCKREADONLY(=1)默認(rèn)值,用來打開只讀記錄ADLOCKPESSIMISTIC(=2)悲觀鎖定ADLOCKOPTIMISTIC(=3)樂觀鎖定ADLOCKBATCHOPTIMISTIC(=4)批次樂觀鎖定,司機(jī)檔案查詢,運(yùn)輸行業(yè)管理系統(tǒng),司機(jī)檔案查詢模塊,查詢按鈕PrivateSubCmdQue_Click()DimQuestrAsStringDimRsQueryAsNewADODB.RecordsetDimDriverNameAsStringDimRemarkAsStringDimLtItmAsListItemDimiAsInteger按姓名查詢IfMe.OptQue(0).Value=TrueThen判斷查詢條件IfMe.TxtQueName.Text=""ThenMsgBox"請輸入要查詢的司機(jī)姓名!",,"查詢司機(jī)檔案"ExitSubElseIfLen(Trim(Me.TxtQueName.Text))>4ThenMsgBox"司機(jī)姓名長度超出范圍!",,"查詢司機(jī)檔案"ExitSubEndIf替換單引號(hào)DriverName=Replace(Trim(Me.TxtQueName.Text),"","")生成查詢語句Questr="select*fromDriverInfowhereDriverNameLike%"&DriverName&"%",PrivateSubForm_Load()…LvResult.Visible=FalseEndSub,按身份證號(hào)查詢ElseIfMe.OptQue(1).Value=TrueThen判斷查詢條件IfMe.TxtQueNum.Text=""ThenMsgBox"請輸入要查詢的身份證號(hào)!",,"查詢司機(jī)檔案"ExitSubElseIfLen(Trim(Me.TxtQueNum.Text))>18ThenMsgBox"身份證號(hào)長度不符!",,"查詢司機(jī)檔案"ExitSubEndIf生成查詢語句Questr="select*fromDriverInfowhereDriverNumLike%"Questr=Questr&Me.TxtQueNum.Text&"%"按性別查詢ElseIfMe.OptQue(2).Value=TrueThen生成查詢語句IfMe.OptQueSex(0).Value=TrueThenQuestr="select*fromDriverInfowhereDriverSex=0"ElseQuestr="select*fromDriverInfowhereDriverSex=-1"EndIf按工號(hào)查詢ElseIfMe.OptQue(3).Value=TrueThenQuestr="select*fromDriverInfowhereDriverWorkNum="Questr=Questr&Val(Me.TxtQueWorkNum.Text),按備注查詢ElseIfMe.OptQue(4).Value=TrueThen替換單引號(hào)Remark=Replace(Trim(Me.TxtQueRemark.Text),"","")生成查詢語句Questr="select*fromDriverInfowhereRemarkLike%"Questr=Questr&Remark&"%"EndIf,打開數(shù)據(jù)集Debug.PrintQuestrRsQuery.OpenQuestr,DBCn,adOpenStatic,adLockOptimistic顯示查詢結(jié)果IfRsQuery.EOFThenMsgBox"數(shù)據(jù)庫中沒有符合要求的記錄!",,"查詢司機(jī)檔案"ExitSubEndIfMe.LvResult.Visible=TrueMe.CmdBack.Visible=True,清空列表Me.LvResult.ListItems.Clear數(shù)據(jù)集指針指向第一個(gè)記錄RsQuery.MoveFirstFori=1ToRsQuery.RecordCountSetLtItm=Me.LvResult.ListItems.Add()LtItm.Text=RsQuery.Fields("DriverID").ValueLtItm.SubItems(1)=RsQuery.Fields("DriverName").ValueLtItm.SubItems(2)=RsQuery.Fields("DriverNum").ValueIfRsQuery.Fields("DriverSex").Value=0ThenLtItm.SubItems(3)="男"ElseLtItm.SubItems(3)="女"EndIfLtItm.SubItems(4)=RsQuery.Fields("DriverBir").ValueLtItm.SubItems(5)=RsQuery.Fields("DriverWorkNum").ValueLtItm.SubItems(6)=RsQuery.Fields("DriverTel").ValueLtItm.SubItems(7)=RsQuery.Fields("DriverTeam").ValueLtItm.SubItems(8)=RsQuery.Fields("DriverLicenceNum").ValueLtItm.SubItems(9)=RsQuery.Fields("DriverLicenceDate").ValueIfRsQuery.Fields("Remark").Value""ThenLtItm.SubItems(10)=RsQuery.Fields("Remark").ValueEndIf數(shù)據(jù)集指針指向下一條記錄RsQuery.MoveNextNexti關(guān)閉數(shù)據(jù)集RsQuery.CloseEndSub,運(yùn)輸行業(yè)管理系統(tǒng),車輛檔案管理模塊,FormCarBorderStype1MDIChildTRUETxtCarNum:車號(hào)TxtTeam、:隸屬車隊(duì)DTPBuy:購買日期TxtRemark:備注OptCheck(0):是否年檢是OptCheck(1):是否年檢否OptIns(0):是否車險(xiǎn)是OptIns(1):是否車險(xiǎn)否DataGrid1:Adodc1:OptQue(0):按車號(hào)查詢OptQue(1):按是否年檢查詢OptQue(2):按是否車險(xiǎn)查詢OptQue(3):按備注查詢OptQueCheck(0):是否車險(xiǎn)是OptQueCheck(1):是否車險(xiǎn)否OptQueIns(0):是否年檢是OptQueIns(0):是否年檢否LvResult:,車輛檔案管理窗體控件,,運(yùn)輸行業(yè)管理系統(tǒng),車輛檔案管理模塊,PrivateSubForm_Load()初始化ADO控件,連接數(shù)據(jù)庫,設(shè)置列首Adodc1.ConnectionString=CnStrAdodc1.RecordSource="SelectCarIDas車輛ID,"&_"CarNumas車號(hào),"&_"CarTeamas隸屬車隊(duì)名,"&_"CarDateas購買日期,"&_"CarCheckas年檢,"&_"CarInsas車險(xiǎn),"&_"Remarkas備注"&_"FromCarInfo"Debug.PrintAdodc1.RecordSourceSetDataGrid1.DataSource=Adodc1不能缺少M(fèi)e.LvResult.Visible=FalseEndSub,運(yùn)輸行業(yè)管理系統(tǒng),車輛檔案管理模塊,備注項(xiàng)可選IfMe.TxtRemark.Text=vbNullStringThen沒有備注項(xiàng)SqlStr="INSERTINTOCarInfo"SqlStr=SqlStr"Debug.PrintSqlStrDBCn.ExecuteSqlStr,Else有備注項(xiàng)Remark=Replace(Trim(Me.TxtRemark.Text),"","")SqlStr="INSERTINTOCarInfo"SqlStr=SqlStr"Debug.PrintSqlStrDBCn.ExecuteSqlStrEndIfMsgBox"添加成功",,"添加車輛檔案"Adodc1.Refresh,PrivateSubCmdMod_Click()DataGrid1.Columns(1).Text=Me.TxtCarNum.TextDataGrid1.Columns(2).Text=Me.TxtTeam.TextDataGrid1.Columns(3).Text=Me.DTPBuy.ValueIfMe.OptCheck(0).Value=TrueThenDataGrid1.Columns(4).Text=0ElseDataGrid1.Columns(4).Text=-1EndIfIfMe.OptIns(0).Value=TrueThenDataGrid1.Columns(5).Text=0ElseDataGrid1.Columns(5).Text=-1EndIfDataGrid1.Columns(6).Text=Me.TxtRemark.TextMsgBox"修改成功",,"修改車輛檔案"EndSub,修改車輛檔案,運(yùn)輸行業(yè)管理系統(tǒng),PrivateSubCmdDel_Click()OnErrorGoToErr:IfMsgBox("確定要?jiǎng)h除選定檔案嗎?",vbOKCancel,"刪除檔案")=vbOKThenAdodc1.Recordset.DeleteMsgBox"刪除成功!",,"刪除檔案"CmdEmpty_ClickEndIfExitSubErr:MsgBox"其他表中包含相關(guān)記錄,不能刪除!",,"刪除檔案"EndSub,刪除車輛檔案,運(yùn)輸行業(yè)管理系統(tǒng),每日結(jié)算模塊,運(yùn)輸行業(yè)管理系統(tǒng),控件即屬性見書P47表1-13,計(jì)算盈利:昨日收入(車輛運(yùn)營)-昨日支出(違章罰款+維修費(fèi)用+事故花費(fèi)),- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
14.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 運(yùn)輸行業(yè)管理系統(tǒng) 運(yùn)輸 行業(yè)管理 系統(tǒng) PPT 課件
鏈接地址:http://www.820124.com/p-11513141.html