建個模塊, Dim varcnn As OleDb.OleDbConnection ReadOnly Property cnn() As OleDb.OleDbConnection

成都創(chuàng)新互聯(lián)公司為客戶提供專業(yè)的網(wǎng)站設(shè)計制作、網(wǎng)站制作、程序、域名、空間一條龍服務(wù),提供基于WEB的系統(tǒng)開發(fā). 服務(wù)項目涵蓋了網(wǎng)頁設(shè)計、網(wǎng)站程序開發(fā)、WEB系統(tǒng)開發(fā)、微信二次開發(fā)、成都手機網(wǎng)站制作等網(wǎng)站方面業(yè)務(wù)。
Get
If varcnn Is Nothing OrElse varcnn.State ConnectionState.Open Then Dim cnstr As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=""" My.Application.Info.DirectoryPath "\Contact.mdb"";Persist Security Info=True"
varcnn = New OleDbConnection(cnstr)
varcnn.Open()
End If
Return varcnn
End Get
登錄窗體,新建一個就行了。代碼Public Class LoginForm1
Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click
Using cmd As New OleDb.OleDbCommand("select password from tbuser where userid =?", cnn)
cmd.Parameters.Add("?", OleDbType.VarChar).Value = Me.UsernameTextBox.Text
Dim obj As Object = cmd.ExecuteScalar
If (Not IsDBNull(obj)) AndAlso (obj IsNot Nothing) AndAlso obj = PasswordTextBox.Text Then
Me.DialogResult = Windows.Forms.DialogResult.OK
Else MessageBox.Show("密碼不正確!") Return
End If
End Using Me.Close()
End Sub Private Sub Cancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel.Click
Me.DialogResult = Windows.Forms.DialogResult.Cancel
Me.Close()
End SubEnd Class 項目屬性里點查看應(yīng)用程序事件,寫代碼Namespace My ' 以下事件可用于 MyApplication:
'
' Startup: 應(yīng)用程序啟動時在創(chuàng)建啟動窗體之前引發(fā)。
' Shutdown: 在關(guān)閉所有應(yīng)用程序窗體后引發(fā)。如果應(yīng)用程序異常終止,則不會引發(fā)此事件。
' UnhandledException: 在應(yīng)用程序遇到未處理的異常時引發(fā)。
' StartupNextInstance: 在啟動單實例應(yīng)用程序且應(yīng)用程序已處于活動狀態(tài)時引發(fā)。
' NetworkAvailabilityChanged: 在連接或斷開網(wǎng)絡(luò)連接時引發(fā)。
Partial Friend Class MyApplication
Private Sub MyApplication_Startup(ByVal sender As Object, ByVal e As Microsoft.VisualBasic.ApplicationServices.StartupEventArgs) Handles Me.Startup
Dim f As New LoginForm1
If Not f.ShowDialog = DialogResult.OK Then
End
End If
End Sub End ClassEnd Namespace
你測試一下吧。
獲得框里的字符串,按鈕單機事件后臺鏈接數(shù)據(jù)庫SQL語句就是select * from database 查詢出來用list集合裝起來前臺form2拉一個顯示控件foreach循環(huán)顯示出來就行,
me.dispose()
樓主針對這個問題我也糾結(jié)過很久不過就在剛剛我找到了問題所在:
還是用me.close()
打開
項目
》
最下面一行有一個屬性》
應(yīng)用程序》下面
有一個關(guān)機模式
改為:當(dāng)最后一個窗體關(guān)閉時。。。注意
me.close要寫在窗體show()后面
例如
寫成
f2.show()
me.close()
不要寫成
me.close()
f2.show()
這個問題好寬泛,簡單說下步驟吧:
簡單來說,直接連接需要使用SQLConnection、SQLDataAdapter、SQLCommand、Datatable四個控件,先寫好連接字符串,然后建立連接,寫好SQL語句,通過DataAdapter從數(shù)據(jù)庫讀取數(shù)據(jù)到Datatable。這樣只有在SQL服務(wù)器中附加數(shù)據(jù)庫才能實現(xiàn)訪問。還可以使用DSN實現(xiàn)數(shù)據(jù)庫連接,控件依次更換為ODBCConnection、ODBCDataAdapter、ODBCCommand、datatable、基本步驟和上面說的一樣。
SQL語句就是從數(shù)據(jù)庫查用戶名對應(yīng)的密碼,將數(shù)據(jù)從數(shù)據(jù)庫讀取到DataTable后,與用戶輸入的密碼比對,相符則登陸成功,否則提示錯誤。
過程中的細(xì)節(jié)問題歡迎追問
您可以調(diào)用Me.Hide()方法隱藏Login窗體。
另外,如果您使用新建工程后的那個默認(rèn)窗體作為Login窗體,那么您只能隱藏這個窗體或修改程序的啟動對象。因為VB.net默認(rèn)將創(chuàng)建工程時的那個默認(rèn)窗體作為程序的主窗體,應(yīng)用程序的主消息循環(huán)就建立在這個窗體上,如果您關(guān)閉這個窗體,那么所有的消息泵都會停止,應(yīng)用程序就會退出。
我比較推薦您將Main窗體設(shè)為應(yīng)用程序的主窗體,這樣可以減小資源的占用,當(dāng)Login完成后就可以釋放Login窗體了。
另外,vb.net中的me變量相當(dāng)于C語言中的this指針,它指向當(dāng)前類。
推薦一個網(wǎng)站,這個網(wǎng)站有很多的教程,而且基本都是附部分代碼,可能有一些對您有用的信息。
網(wǎng)站欄目:vb.net登錄窗體,vb登錄窗口
網(wǎng)頁網(wǎng)址:http://chinadenli.net/article41/dsgcced.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計公司、網(wǎng)站策劃、品牌網(wǎng)站設(shè)計、網(wǎng)站排名、網(wǎng)站改版、網(wǎng)站導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)