繁体   English   中英

当程序仍在运行时,数据库保存并显示在访问中,但是当我关闭并再次运行时,我将不得不再次注册然后登录

[英]DATABASE SAVES AND SHOWS IN ACCESS WHILE PROGRAM STILL RUNNING, BUT WHEN I CLOSE AND RUN AGAIN, I WILL HAVE TO SIGN UP AGAIN THEN LOGIN

大家好,我正在做我的最后一个项目,我已经创建了一个登录和注册表单,用户在第一次尝试登录时必须在其中注册,但这是我注册时的情况,帐户将被创建,我将能够使用创建帐户时使用的详细信息登录,但我立即关闭程序,因为我仍在处理项目,然后我尝试再次运行,我将不得不在 other 中再次注册以继续下一步。

我的问题是,是不是因为我仍在开发程序,这就是为什么数据没有保存,所以当我完成然后我构建项目时,我不会遇到这个问题,或者我错过了某物。

我希望将用于创建帐户的数据保存在数据库中,这样用户就不必在每次运行程序时都进行注册。

请任何帮助,项目需要在本周内提交...

代码如下:


 Private Sub loginsignin_Click(sender As Object, e As EventArgs) Handles loginsignin.Click
        If txtloginusername.Text = Nothing Or txtloginpass.Text = Nothing Then
            MessageBox.Show("Please enter credentials", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End If

        If con.State = ConnectionState.Closed Then
            con.Open()
        End If

        Using Command As New OleDbCommand("SELECT COUNT(*) FROM tbllogin WHERE uname = @loginusername AND pass = @loginpass", con)
            Command.Parameters.AddWithValue("@uname", OleDbType.VarChar).Value = txtloginusername.Text.Trim
            Command.Parameters.AddWithValue("@pass", OleDbType.VarChar).Value = txtloginpass.Text.Trim

            Dim count = Convert.ToInt32(Command.ExecuteScalar())

            If count > 0 Then
                Me.Hide()
                Dashboard.Show()
            Else
                MessageBox.Show("Oops!, Invalid Credentials", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
            End If
        End Using
        con.Close()
    End Sub

    Private Sub btnsignup_Click(sender As Object, e As EventArgs) Handles btnsignup.Click
        If txtfname.Text = Nothing Or txtlname.Text = Nothing Or txtuname.Text = Nothing Or txtmobile.Text = Nothing Or txtpass.Text = Nothing Then
            MessageBox.Show("Please enter credentials", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End If

        If txtmobile.Text.Length < 10 Then
            MessageBox.Show("Invalid Telephone Number!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End If

        If con.State = ConnectionState.Closed Then
            con.Open()
        End If

        Using command As New OleDbCommand("SELECT COUNT(*) FROM tbllogin WHERE mobile = @mobile", con)
            command.Parameters.Add(New OleDb.OleDbParameter("@mobile", OleDbType.VarChar)).Value = txtmobile.Text

            Dim count = Convert.ToInt32(command.ExecuteScalar())

            If count > 0 Then
                MessageBox.Show("Oops!, Preregistered Telephone Number.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
                Exit Sub
            End If
        End Using

        Using create As New OleDbCommand("INSERT INTO tbllogin ([uname], [pass], [mobile], [fname], [lname]) VALUES (@uname,
        @pass, @mobile, @fname, @lname)", con)
            create.Parameters.Add(New OleDb.OleDbParameter(“@uname”, OleDbType.VarChar)).Value = txtuname.Text
            create.Parameters.Add(New OleDb.OleDbParameter("@pass", OleDbType.VarChar)).Value = txtpass.Text
            create.Parameters.Add(New OleDb.OleDbParameter("@mobile", OleDbType.VarChar)).Value = txtmobile.Text
            create.Parameters.Add(New OleDb.OleDbParameter("@fname", OleDbType.VarChar)).Value = txtfname.Text
            create.Parameters.Add(New OleDb.OleDbParameter("@lname", OleDbType.VarChar)).Value = txtlname.Text

            If create.ExecuteNonQuery Then
                MessageBox.Show("Account created", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information)
            Else
                MsgBox("Registration Failed.")
            End If
        End Using
    End Sub

    Private Sub Login_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        txtfname.Text = ""
    End Sub

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM