目前我正在尝试如何使用不同的用户输入创建登录系统。 (每个用户都有自己的信息)。我有两个数据库表,一个叫做“user”(这里是id主键,用户名和密码在里面),第二个表是“userInformation”(这里是id)外键,有名字,地址等信息。)我这样做了:
public partial class standardUserInterface : Form
{
int userIdNumber;
string[] userinfo;
public standardUserInterface(int userIdNumber)
{
InitializeComponent();
userinfo = new string[3];
this.userIdNumber = userIdNumber;
string selectUserData = "select voornaam,achternaam,woonplaats from dbo.usersinfo inner join dbo.loginuser on usersinfo.id=@loginUserId";
SqlConnection conn = sqlConn.openSqlConnection();
conn.Open();
SqlCommand comm = new SqlCommand(selectUserData, conn);
comm.Parameters.AddWithValue("@loginUserId", userIdNumber);
SqlDataReader dr = comm.ExecuteReader();
while (dr.Read())
{
for (int i = 0; i < 3; i++)
{
userinfo[i] = dr.GetString(i);
}
}
lblVoornaam.Text = userinfo[0];
lblAchternaam.Text = userinfo[1];
lblAdres.Text = userinfo[2];
}
}
您如何看待这个?有更好的方法,还是做得好?
修改
这是收到userdata
之前的登录信息 private string password;
private string username;
private int userIdNumber;
public Form1()
{
InitializeComponent();
}
private void btnLogin_Click(object sender, EventArgs e)
{
username = txtUsername.Text;
password = txtPassword.Text;
userLogin user = new userLogin(username, password);
//wachtwoord & gebruikersnaam controleren
if (username != "" & password != "")
{
if (user.checkPassword())
{
this.Hide();
userIdNumber = user.checkID();
standardUserInterface openUserInterface = new standardUserInterface(userIdNumber);
openUserInterface.ShowDialog();
}
else
{
MessageBox.Show("wachtwoord is onjuist");
}
}
else
{
MessageBox.Show("vul alle velden in");
}
}
答案 0 :(得分:0)
我们不需要登录身份验证系统,我们可以验证使用的ID和密码吗?只有验证成功,我们才会获取用户详细信息
一个建议,如果我们可以创建一个用于获取用户数据而不是内联查询的存储过程,那会更好。
答案 1 :(得分:0)
kmeans.fit(xtrain)
答案 2 :(得分:-1)
using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Csharp_Login_And_Register
{
public partial class LoginForm : Form
{
public LoginForm()
{
InitializeComponent();
this.textBoxPassword.AutoSize = false;
this.textBoxPassword.Size = new Size(this.textBoxPassword.Size.Width, 50);
}
private void labelClose_MouseEnter(object sender, EventArgs e)
{
labelClose.ForeColor = Color.Black;
}
private void labelClose_MouseLeave(object sender, EventArgs e)
{
labelClose.ForeColor = Color.White;
}
private void labelClose_Click(object sender, EventArgs e)
{
//this.Close();
Application.Exit();
}
private void buttonLogin_Click(object sender, EventArgs e)
{
DB db = new DB();
String username = textBoxUsername.Text;
String password = textBoxPassword.Text;
DataTable table = new DataTable();
MySqlDataAdapter adapter = new MySqlDataAdapter();
MySqlCommand command = new MySqlCommand("SELECT * FROM `users` WHERE `username` = @usn and `password` = @pass", db.getConnection());
command.Parameters.Add("@usn", MySqlDbType.VarChar).Value = username;
command.Parameters.Add("@pass", MySqlDbType.VarChar).Value = password;
adapter.SelectCommand = command;
adapter.Fill(table);
// check if the user exists or not
if (table.Rows.Count > 0)
{
this.Hide();
MainForm mainform = new MainForm();
mainform.Show();
}
else
{
if(username.Trim().Equals(""))
{
MessageBox.Show("Enter Your Username To Login","Empty Username",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
else if (password.Trim().Equals(""))
{
MessageBox.Show("Enter Your Password To Login", "Empty Password", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
else
{
MessageBox.Show("Wrong Username Or Password", "Wrong Data", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
private void labelGoToSignUp_Click(object sender, EventArgs e)
{
this.Hide();
RegisterForm registerform = new RegisterForm();
registerform.Show();
}
private void labelGoToSignUp_MouseEnter(object sender, EventArgs e)
{
labelGoToSignUp.ForeColor = Color.Yellow;
}
private void labelGoToSignUp_MouseLeave(object sender, EventArgs e)
{
labelGoToSignUp.ForeColor = Color.White;
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MySql.Data.MySqlClient;
namespace Csharp_Login_And_Register
{
/*
we need to download the mysql connector
* add the connector to our project
* ( watch the video to see how )
* create a connection now with mysql
* open xampp and start mysql & apache
* go to phpmyadmin and create the users database
*/
class DB
{
private MySqlConnection connection = new MySqlConnection("server=localhost;port=3306;username=root;password=;database=csharp_users_db");
// create a function to open the connection
public void openConnection()
{
if(connection.State == System.Data.ConnectionState.Closed)
{
connection.Open();
}
}
// create a function to close the connection
public void closeConnection()
{
if (connection.State == System.Data.ConnectionState.Open)
{
connection.Close();
}
}
// create a function to return the connection
public MySqlConnection getConnection()
{
return connection;
}
}
}
namespace Csharp_Login_And_Register
{
partial class LoginForm
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.panel1 = new System.Windows.Forms.Panel();
this.labelGoToSignUp = new System.Windows.Forms.Label();
this.buttonLogin = new System.Windows.Forms.Button();
this.textBoxPassword = new System.Windows.Forms.TextBox();
this.pictureBox2 = new System.Windows.Forms.PictureBox();
this.textBoxUsername = new System.Windows.Forms.TextBox();
this.pictureBox1 = new System.Windows.Forms.PictureBox();
this.panel2 = new System.Windows.Forms.Panel();
this.labelClose = new System.Windows.Forms.Label();
this.label1 = new System.Windows.Forms.Label();
this.panel1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
this.panel2.SuspendLayout();
this.SuspendLayout();
//
// panel1
//
this.panel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(17)))), ((int)(((byte)(24)))), ((int)(((byte)(34)))));
this.panel1.Controls.Add(this.labelGoToSignUp);
this.panel1.Controls.Add(this.buttonLogin);
this.panel1.Controls.Add(this.textBoxPassword);
this.panel1.Controls.Add(this.pictureBox2);
this.panel1.Controls.Add(this.textBoxUsername);
this.panel1.Controls.Add(this.pictureBox1);
this.panel1.Controls.Add(this.panel2);
this.panel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel1.Location = new System.Drawing.Point(0, 0);
this.panel1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(632, 523);
this.panel1.TabIndex = 0;
//
// labelGoToSignUp
//
this.labelGoToSignUp.AutoSize = true;
this.labelGoToSignUp.Cursor = System.Windows.Forms.Cursors.Hand;
this.labelGoToSignUp.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelGoToSignUp.ForeColor = System.Drawing.Color.White;
this.labelGoToSignUp.Location = new System.Drawing.Point(195, 479);
this.labelGoToSignUp.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.labelGoToSignUp.Name = "labelGoToSignUp";
this.labelGoToSignUp.Size = new System.Drawing.Size(211, 17);
this.labelGoToSignUp.TabIndex = 6;
this.labelGoToSignUp.Text = "Don\'t Have an Account? SignUp";
this.labelGoToSignUp.Click += new System.EventHandler(this.labelGoToSignUp_Click);
this.labelGoToSignUp.MouseEnter += new System.EventHandler(this.labelGoToSignUp_MouseEnter);
this.labelGoToSignUp.MouseLeave += new System.EventHandler(this.labelGoToSignUp_MouseLeave);
//
// buttonLogin
//
this.buttonLogin.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(242)))), ((int)(((byte)(103)))), ((int)(((byte)(46)))));
this.buttonLogin.Cursor = System.Windows.Forms.Cursors.Hand;
this.buttonLogin.FlatAppearance.BorderSize = 0;
this.buttonLogin.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.buttonLogin.Font = new System.Drawing.Font("Microsoft Sans Serif", 15.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.buttonLogin.ForeColor = System.Drawing.Color.White;
this.buttonLogin.Location = new System.Drawing.Point(45, 380);
this.buttonLogin.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
this.buttonLogin.Name = "buttonLogin";
this.buttonLogin.Size = new System.Drawing.Size(541, 74);
this.buttonLogin.TabIndex = 5;
this.buttonLogin.Text = "LOGIN";
this.buttonLogin.UseVisualStyleBackColor = false;
this.buttonLogin.Click += new System.EventHandler(this.buttonLogin_Click);
//
// textBoxPassword
//
this.textBoxPassword.Font = new System.Drawing.Font("Microsoft Sans Serif", 24F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.textBoxPassword.Location = new System.Drawing.Point(120, 276);
this.textBoxPassword.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
this.textBoxPassword.Name = "textBoxPassword";
this.textBoxPassword.Size = new System.Drawing.Size(465, 53);
this.textBoxPassword.TabIndex = 4;
this.textBoxPassword.UseSystemPasswordChar = true;
//
// pictureBox2
//
this.pictureBox2.Image = global::Csharp_Login_And_Register.Properties.Resources._lock;
this.pictureBox2.Location = new System.Drawing.Point(45, 276);
this.pictureBox2.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
this.pictureBox2.Name = "pictureBox2";
this.pictureBox2.Size = new System.Drawing.Size(67, 62);
this.pictureBox2.TabIndex = 3;
this.pictureBox2.TabStop = false;
//
// textBoxUsername
//
this.textBoxUsername.Font = new System.Drawing.Font("Microsoft Sans Serif", 24F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.textBoxUsername.Location = new System.Drawing.Point(120, 178);
this.textBoxUsername.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
this.textBoxUsername.Multiline = true;
this.textBoxUsername.Name = "textBoxUsername";
this.textBoxUsername.Size = new System.Drawing.Size(465, 61);
this.textBoxUsername.TabIndex = 2;
//
// pictureBox1
//
this.pictureBox1.Image = global::Csharp_Login_And_Register.Properties.Resources.user;
this.pictureBox1.Location = new System.Drawing.Point(45, 178);
this.pictureBox1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
this.pictureBox1.Name = "pictureBox1";
this.pictureBox1.Size = new System.Drawing.Size(67, 62);
this.pictureBox1.TabIndex = 1;
this.pictureBox1.TabStop = false;
//
// panel2
//
this.panel2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(183)))), ((int)(((byte)(19)))));
this.panel2.Controls.Add(this.labelClose);
this.panel2.Controls.Add(this.label1);
this.panel2.Location = new System.Drawing.Point(-8, 0);
this.panel2.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(640, 114);
this.panel2.TabIndex = 0;
//
// labelClose
//
this.labelClose.AutoSize = true;
this.labelClose.Cursor = System.Windows.Forms.Cursors.Hand;
this.labelClose.Font = new System.Drawing.Font("Arial", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelClose.ForeColor = System.Drawing.Color.White;
this.labelClose.Location = new System.Drawing.Point(604, 4);
this.labelClose.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.labelClose.Name = "labelClose";
this.labelClose.Size = new System.Drawing.Size(27, 27);
this.labelClose.TabIndex = 1;
this.labelClose.Text = "X";
this.labelClose.Click += new System.EventHandler(this.labelClose_Click);
this.labelClose.MouseEnter += new System.EventHandler(this.labelClose_MouseEnter);
this.labelClose.MouseLeave += new System.EventHandler(this.labelClose_MouseLeave);
//
// label1
//
this.label1.Dock = System.Windows.Forms.DockStyle.Fill;
this.label1.Font = new System.Drawing.Font("Arial", 27.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label1.Location = new System.Drawing.Point(0, 0);
this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(640, 114);
this.label1.TabIndex = 0;
this.label1.Text = "USER LOGIN";
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// LoginForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(632, 523);
this.Controls.Add(this.panel1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
this.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
this.Name = "LoginForm";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "LoginForm";
this.panel1.ResumeLayout(false);
this.panel1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
this.panel2.ResumeLayout(false);
this.panel2.PerformLayout();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.Panel panel2;
private System.Windows.Forms.Label labelClose;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.TextBox textBoxPassword;
private System.Windows.Forms.PictureBox pictureBox2;
private System.Windows.Forms.TextBox textBoxUsername;
private System.Windows.Forms.PictureBox pictureBox1;
private System.Windows.Forms.Button buttonLogin;
private System.Windows.Forms.Label labelGoToSignUp;
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Csharp_Login_And_Register
{
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
}
private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
{
Application.Exit();
}
}
}