當前位置:編程學習大全網 - 源碼下載 - 下面這段源代碼是什麽意思。。

下面這段源代碼是什麽意思。。

Private Sub Command1_Click() '單擊按鈕

Dim sql As String '定義語句(數據庫SQL語句)

Dim rs_add As New ADODB.Recordset '定義數據集變量

Call open_db '調用函數,函數未知,不過從字面意思即上下文可判斷是數據庫連接語句

If Trim(Text1.Text) = "" Then '如果文本框Text1沒有輸入內容

MsgBox "操作員名不能為空!", vbOKOnly + vbExclamation, ""

'提示"操作員名不能為空!"

Exit Sub '退出過程

Text1.setfoccus '無意義的語句,可能作者寫錯順序了,設置文本框Text1獲得焦點

Else '如果文本框Text1有內容

sql = "selesc*from 系統操作員表" 'SQL語句賦值,註意還沒運行,不過寫錯了,應該是select * from 系統操作員表,空格也不能少的

rs_add.Open sql, conn, adOpenKeyset, adLockPessimistic

'執行以上SQL語句

While (rs_add.EOF = False) '如果未到數據尾,即找到匹配數據

If Trim(rs_add.Fields(0)) = Trim(Text1.Text) Then

'如果找到的數據第壹個字段跟輸入的文本框Text1壹致

MsgBox "已有這個用戶!", vbOKOnly + vbExclamation, ""

'提示"已有這個用戶!"

Text1.setfoccus '設置文本框Text1獲得焦點

Text1.Text = "" '清空文本框1,2,3

Text2.Text = ""

Text3.Text = ""

Exit Sub '退出過程

Else '如果找到的數據第壹個字段跟輸入的文本框Text1不壹致

rs_add.MoveNext '移動到下壹個記錄

End If

Wend

'以上代碼是打開數據庫,循環查找,看下輸入的系統操作員是否與存在的數據庫壹致,不壹致就繼續找,壹致就提示已有這個用戶,反正找到最後還沒有重復的就可以添加了,這樣才不會使用戶名重復,其實還有更好的SQL語句可以用,我不知道作者的意圖也不敢妄加揣測

If Trim(Text2.Text) <> Trim(Text3.Text) Then

'如果文本框Text2,文本框Text3不壹致提示"兩次密碼不壹致!"並清空輸入設置文本框Text2獲得焦點,然後退出過程,這次的退出過程意義不大,可能節約了幾微秒時間去執行壹條語句而已吧,並不是不對,只是沒必要什麽時候都加上Exit Sub

MsgBox "兩次密碼不壹致!", vbOKOnly + vbExclamation, ""

Text2.SetFocus

Text2.Text = ""

Text3.Text = ""

Exit Sub

Else '如果文本框Text2,文本框Text3輸入壹致

rs_add.AddNew '準備進行加入

rs_add.Fields(0) = Text1.Text '將文本框的內容導入數據庫,從這裏可以看出數據庫的設計不太合理,把重復輸入的兩個密碼框都導入那麽數據的壹致性就很難保證了,當然,代碼寫好點也沒事,但浪費空間浪費時間的無意義舉動很不好

rs_add.Fields(1) = Text2.Text

rs_add.Fields(2) = Text3.Text

rs_add.updata '更新數據庫

rs_add.Close '關閉數據庫,提示MsgBox "添加用戶成功!"

MsgBox "添加用戶成功!", vbOKOnly + vbExclamation, ""

Unload Me '卸載窗體

End If

End If

End Sub

這是個添加新用戶的代碼,text1輸入用戶名,text2輸入密碼,text3重復輸入密碼,然後先判斷text1是否為空,為空就提示,不然就在數據庫中查找看看有沒有重復的,重復就提示,沒有繼續判斷輸入的密碼壹不壹致,不壹致提示,壹致就可以添加了

不過從邏輯的角度看順序可以改下更合理點,先判斷輸入的密碼壹不壹致再連接數據庫判斷用戶重復好些,這樣可以減少CPU的負載,嘿嘿

  • 上一篇:iPhone以越獄怎麽弄插件 像蘋果手表的插件
  • 下一篇:托福110分和雅思7分代表什麽樣的英語水平
  • copyright 2024編程學習大全網