中易网

用vb.net ,后台用access 做一个登录窗口

答案:2  悬赏:0  
解决时间 2021-04-28 03:28
  • 提问者网友:斩断情丝
  • 2021-04-27 22:59

能通过access数据库对用户名和密码进行判断,正确则进入主系统页面(main.vb),错误则不能进入。

数据库名为  ob.mdb

窗体按钮有两个:一个是ok ,一个是cancel

名位大侠,有谁会的请出来帮下忙啊,网上找的全是用VB 6.0 和sql后台的,找了好久都没找到!!

 

最佳答案
  • 二级知识专家网友:情战辞言
  • 2021-04-27 23:34

建个模块,


 Dim varcnn As OleDb.OleDbConnection


    ReadOnly Property cnn() As OleDb.OleDbConnection
    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 Sub


End Class


项目属性里点查看应用程序事件,写代码


Namespace My


    ' 以下事件可用于 MyApplication:
    '
    ' Startup: 应用程序启动时在创建启动窗体之前引发。
    ' Shutdown: 在关闭所有应用程序窗体后引发。如果应用程序异常终止,则不会引发此事件。
    ' UnhandledException: 在应用程序遇到未处理的异常时引发。
    ' StartupNextInstance: 在启动单实例应用程序且应用程序已处于活动状态时引发。
    ' NetworkAvailabilityChanged: 在连接或断开网络连接时引发。
    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 Class


End Namespace
你测试一下吧。

全部回答
  • 1楼网友:承载所有颓废
  • 2021-04-27 23:54

在窗口 Public Class 之前插入

Imports System.Data Imports System.Data.OleDb

必须先引用命名空间。

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息