【文章內(nèi)容簡(jiǎn)介】
log=dcdatebase。Integrated Security=True是數(shù)據(jù)庫(kù)連接語(yǔ)句,WWW3C702F2C1C8是計(jì)算機(jī)名。 Is_SQL_Cmd方法方法Is_SQL_Cmd是判斷數(shù)據(jù)是否存在,當(dāng)系統(tǒng)登錄和添加客戶需要驗(yàn)證數(shù)據(jù)庫(kù)中是否存在提交的數(shù)據(jù)時(shí)會(huì)用到它。其主要代碼如下: Public Function Is_SQL_Cmd(ByVal cmdstr As String) As Boolean SqlConn = New SqlConnection(constr) () SqlCmd = New SqlCommand(cmdstr, SqlConn) Try SqlDr = () If Then Return True Else Return False End If Catch ex As Exception Return False Finally () End Try End Function SQL_Ada方法方法SQL_Ada是為了查詢數(shù)據(jù)庫(kù),并將查詢到的結(jié)果存放在內(nèi)存中的datatable表中,餐飲信息管理系統(tǒng)中使用到的組件DataGridView再?gòu)膁atatable表中得到數(shù)據(jù)。 Public Function SQL_Ada(ByVal adastr As String) As DataTable SqlConn = New SqlConnection(constr) () SqlAda = New SqlDataAdapter(adastr, SqlConn) ds = New DataSet Try (ds) Return (0) Catch ex As Exception Return New DataTable Finally () End Try End Function ExecCmd過(guò)程ExecCmd是為系統(tǒng)中的添加、刪除、修改服務(wù),系統(tǒng)里的客戶、菜單、折扣和員工的添加、刪除和修改都用到了該過(guò)程。 Public Sub ExecCmd(ByVal cmdstr As String) SqlConn = New SqlConnection(constr) () SqlCmd = New SqlCommand(cmdstr, SqlConn) () End Sub 系統(tǒng)的登錄與注銷(xiāo) 用戶登陸模塊的實(shí)現(xiàn) 用戶登錄用戶登陸模塊是防止非法用戶登陸的第一道防線,通過(guò)它可以保護(hù)后臺(tái)數(shù)據(jù)庫(kù)的安全性,當(dāng)用戶要進(jìn)行系統(tǒng)操作時(shí),首先要進(jìn)入的就是身份驗(yàn)證界面,只有在密碼正確的情況下才能進(jìn)行以后的操作,如果輸入的密碼不正確,則不能進(jìn)行登錄對(duì)系統(tǒng)進(jìn)行操作。如果用戶以職員的身份進(jìn)入系統(tǒng),則只能進(jìn)行顧客信息管理、菜單信息查詢、預(yù)定信息管理和充值結(jié)算管理,而菜單信息管理、折扣設(shè)定、員工管理這些功能將被屏蔽,如果用戶以管理員(店長(zhǎng))身份登錄,系統(tǒng)的所有功能都將可以使用。以下是“登錄”按鈕的代碼:cmdstr = select * from [user] where [user_id] =39。 + + 39。 and [pwd]= 39。 + + 39。 and [style]= 39。 + + 39。 Try If (cmdstr) Then = True ...... //類(lèi)似部分省略 () Else MsgBox(請(qǐng)?zhí)顚?xiě)正確的用戶名、密碼和用戶類(lèi)型!) End If Catch ex As Exception (ex) End Try系統(tǒng)先進(jìn)行數(shù)據(jù)庫(kù)操作,判斷是否存在用戶名、用戶密碼和用戶類(lèi)型完全符合要求的數(shù)據(jù),如果存在,則說(shuō)明用戶可以登錄,同時(shí)把登錄的用戶類(lèi)型和用戶名告訴需要用到用戶類(lèi)型和用戶名數(shù)據(jù)的模塊如系統(tǒng)主界面、充值模塊和買(mǎi)單模塊等等。 用戶注銷(xiāo)模塊的實(shí)現(xiàn)用戶注銷(xiāo)模塊的代碼如下: Private Sub 注銷(xiāo)ToolStripMenuItem_Click(ByVal sender As , ByVal e As ) Handles = = False For Each ChildForm As Form In () Next main_Load(sender, e) () = 登錄 End Sub用戶通過(guò)本模塊可以注銷(xiāo)系統(tǒng),系統(tǒng)恢復(fù)到登錄前畫(huà)面,這樣就可以防止在用戶離開(kāi)后,系統(tǒng)數(shù)據(jù)被人惡意修改。 客戶信息管理 客戶信息的添加 客戶的添加當(dāng)用戶點(diǎn)擊添加按鈕時(shí),系統(tǒng)執(zhí)行以下代碼:CmdStr = SELECT id FROM [customer] where id=39。 + + 39。 If = Then //身份證不為空 MsgBox(請(qǐng)輸入身份證號(hào)) () ElseIf (CmdStr) Then //檢查是否已注冊(cè) MsgBox(該客戶已經(jīng)存在) () ...... //中間還有很多類(lèi)似的驗(yàn)證 Else CmdStr = insert into customer (name,id,address,birthday,pwd,addtime,money,usedmoney,tel,mobilephone,userid)VALUES(39。 + + 39。,39。 + + 39。,39。 + + 39。,39。 + + 39。,39。 + + 39。,39。 + Now + 39。,39。 + 0 + 39。,39。 + 0 + 39。,39。 + + 39。,39。 + + 39。,39。 + user + 39。) Try (CmdStr) //添加客戶 MsgBox(添加成功) // 添加成功提示 FileUrl = //復(fù)位空格 ...... Catch ex As Exception (ex) End Try End If End Sub在添加用戶前,系統(tǒng)進(jìn)行了詳細(xì)的表單驗(yàn)證,包括驗(yàn)證要提交的客戶是否已經(jīng)存在,用戶兩次輸入的密碼是否一樣,以及聯(lián)系方式不為空等等。使用insert語(yǔ)句將通過(guò)驗(yàn)證的表格中的數(shù)據(jù)提交到數(shù)據(jù)庫(kù)。菜單信息添加模塊與本模塊的原理類(lèi)似,以下不再闡述。 圖像的處理如果用戶在上面添加客戶信息時(shí),添加了圖像信息,那么系統(tǒng)就會(huì)執(zhí)行以下命令: If FileUrl Then //圖像存在的話,添加圖像Dim imgstreem As New FileStream(FileUrl, , ) Dim imgbyte() As Byte (imgbyte, 0, ) () Dim sqlcmd As New Dim sqlconn As New ()CmdStr = update customer set photo=@image where id=39。 + + 39。 (@image, ) (@image).Value = imgbyte = sqlconn = CmdStr Try () () () Catch ex As Exception (ex) End Try End If如果用戶提交了客戶的相片,相片將會(huì)被轉(zhuǎn)化為二進(jìn)制數(shù)據(jù)提交到數(shù)據(jù)庫(kù)中,這樣就可以方便用戶日后對(duì)客戶資料進(jìn)行維護(hù),也有助于服務(wù)人員記住客戶,當(dāng)客戶再次光臨時(shí),一口報(bào)出客戶的名字將會(huì)使客戶對(duì)餐廳的好感大增。 客戶信息的修改 客戶信息的修改當(dāng)客戶資料因?qū)嶋H情況發(fā)生變更時(shí),可以修改系統(tǒng)中的資料數(shù)據(jù),用戶需提供注冊(cè)時(shí)所使用的客戶密碼。使用密碼可以防止客戶的資料被惡意修改。充分保護(hù)客戶權(quán)益,即使是管理員也不能在不經(jīng)過(guò)客戶同意的情況下修改客戶數(shù)據(jù)。以下是修改按鈕的代碼。 CmdStr = select pwd from customer where pwd=39。 + + 39。 and id =39。 + + 39。 //確定客戶身份代碼 ...... //省略驗(yàn)證信息 If (CmdStr) Then //如果客戶同意修改的話繼續(xù) CmdStr = update customer set address=39。 + + 39。 + ,tel=39。 + + 39。 + ,mobilephone=39。 + + 39。 + ,pwd=39。 + + 39。 + where id=39。 + + 39。 Try (CmdStr) //執(zhí)行更新 MsgBox(修改成功) = ...... = Nothing Call TabControl1_SelectedIndexChanged(sender, e) Catch ex As Exception (ex) End Try Else MsgBox(密碼錯(cuò)誤) End If使用方法Is_SQL_Cmd驗(yàn)證客戶密碼的正確性,如果原始密碼正確,用戶在輸入新密碼后可以進(jìn)行對(duì)聯(lián)系方式等基本資料進(jìn)行修改。使用update語(yǔ)句將空格中的數(shù)據(jù)更新到服務(wù)器。如果更新成功,系統(tǒng)會(huì)彈出“修改成功的提示”。 菜單信息修改模塊與本模塊的原理類(lèi)似,以下不再闡述。 客戶信息的刪除客戶信息可以在得到客戶確認(rèn)的情況下刪除