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

成都服務(wù)器托管,創(chuàng)新互聯(lián)提供包括服務(wù)器租用、成都IDC機(jī)房托管、帶寬租用、云主機(jī)、機(jī)柜租用、主機(jī)租用托管、CDN網(wǎng)站加速、域名與空間等業(yè)務(wù)的一體化完整服務(wù)。電話咨詢:13518219792
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 項(xiàng)目屬性里點(diǎn)查看應(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: 在啟動單實(shí)例應(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
你測試一下吧。
感覺你的邏輯有些問題,如果賬號和密碼分開驗(yàn)證的話,可以先根據(jù)賬號,把密碼從數(shù)據(jù)庫里查詢出來,如果查詢到數(shù)據(jù)的話,再用查詢到的密碼跟輸入的密碼進(jìn)行判斷就可以了,只需要訪問一次數(shù)據(jù)庫就可以
解決方案資源管理器中右鍵菜單,添加,WINDOWS窗體,彈出的對話框中,左欄已安裝的模板中選擇WINDOWS FORMS ,右邊中找到 登錄窗體。添加 。程序會添加一個登錄界面。很方便。你試下。
Label1.Caption = "融通系統(tǒng)外掛程序"
If Dir(App.Path "/hjw.mdb") "" Then
Set mydata = OpenDatabase(App.Path "\hjw")
Set myrs1 = mydata.OpenRecordset("user", dbOpenTable)
Else
Set mydata = CreateDatabase(App.Path "\hjw", dbLangGeneral, dbVersion40)
mydata.Execute "create table ku (建立日期 text(100),庫名 text(100),功能 text(100))"
mydata.Execute "create table system (店號 integer,建立日期 text(100),文件路徑 text(100),軟件版本 text(100),路徑1 text(50),路徑2 text(50),路徑3 text(50),路徑4 text(50))"
kuname = "system"
kugn = "文件信息"
Me.showlist1
mydata.Execute "create table user (user text(50),passwd text(50),name text(50),quanx integer)"
kuname = "user"
kugn = "用戶信息"
Me.showlist1
Private Sub cmdOK_Click()
txtUserName.SetFocus
If Trim(txtUserName.Text = "") Then
MsgBox "沒有這個用戶,請重新輸入用戶名!", vbOKOnly + vbExclamation, "警告"
txtUserName.SetFocus
Else
sql = "select * from user where user = '" txtUserName.Text "'"
'Debug.Print sql
'Set mrc = ExecuteSQL(sql, MsgText)
Set myrs2 = mydata.OpenRecordset(sql)
If myrs2.EOF = True Then
MsgBox "沒有這個用戶,請重新輸入用戶名!", vbOKOnly + vbExclamation, "警告"
txtUserName.SetFocus
Else
If Trim(myrs2.Fields(1)) = Trim(txtPassword.Text) Then
UserName = myrs2.Fields(2)
myrs2.Close
Me.Hide
' UserName = Trim(txtUserName.Text)
'Debug.Print UserName
MDIform1.Show
Else
MsgBox "輸入密碼不正確,請重新輸入!", vbOKOnly + vbExclamation, "警告"
txtPassword.SetFocus
txtPassword.Text = ""
End If
End If
End If
End Sub
Private Sub Command1_Click()
\'首先引用Microsoft Activex Data Objects 2.x Library
Dim objcon As New ADODB.Connection
Dim objrs As New ADODB.Recordset
Dim strConn As String
strConn = \"Provider=SQLOLEDB.1;User ID=sa;password=密碼;Initial Catalog=數(shù)據(jù)庫名稱;Data Source=本機(jī)IP地址(192.168.1.136)\"
objcon.Open strConn
\'strConn = \"Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;password=hNXQF222;Initial Catalog=database;Data Source=192.168.1.136\"
\'objcon.Open \"Provider=sqloledb.1;user id=sa;password=hNXQF222;Initial Catalog=Northwind;Data Source=\"
objrs.Open \"select * from Orders\", objcon, 3, 1
\'在部件中添加DataGrid控件
Set DataGrid1.DataSource = objrs
End Sub
me.dispose()
樓主針對這個問題我也糾結(jié)過很久不過就在剛剛我找到了問題所在:
還是用me.close()
打開
項(xiàng)目
》
最下面一行有一個屬性》
應(yīng)用程序》下面
有一個關(guān)機(jī)模式
改為:當(dāng)最后一個窗體關(guān)閉時。。。注意
me.close要寫在窗體show()后面
例如
寫成
f2.show()
me.close()
不要寫成
me.close()
f2.show()
文章名稱:vb.net登錄窗口 vb登錄界面連接數(shù)據(jù)庫
路徑分享:http://www.chinadenli.net/article24/dooigje.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、微信公眾號、網(wǎng)站收錄、搜索引擎優(yōu)化、電子商務(wù)、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)