[英]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.