winform优化过的登录退出代码
首先在VS中创建Windows窗体应用
在App.config中配置数据库连接地址
<connectionStrings>
<add name="connStr" connectionString="server=.;database=StudentNewDB;uid=sa;pwd=localhost;" providerName="System.Data.SqlClient" />
</connectionStrings>
创建一个SqlHelper.cs类
代码如下
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Configuration;
using Microsoft.IdentityModel.Protocols;
namespace WinStudent
{
public class SqlHelper
{
private static readonly string connString= ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;
public static object ExecuteScalar(string sql,params SqlParameter[] paras)
{
object o=null;
using (SqlConnection conn = new SqlConnection(connString)) {
//创建Command
SqlCommand cmd = new SqlCommand(sql, conn);
//添加参数之前先清空;在添加
cmd.Parameters.Clear();
//数组多个添加参数
cmd.Parameters.AddRange(paras);
//打开连接
conn.Open();
//执行命令
o = cmd.ExecuteScalar();//执行查询,返回结果集第一行第一列的值,忽略其他的行或列
//关闭数据库
//conn.Close();
} ;
return o;
}
}
}
在FrmLogin.cs页面实现代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WinStudent
{
public partial class FrmLogin : Form
{
public FrmLogin()
{
InitializeComponent();
}
private void FrmLogin_Load(object sender, EventArgs e)
{
}
/// <summary>
/// 登录系统
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnLogin_Click(object sender, EventArgs e)
{
//获取用户输入信息
string uName = txtUserName.Text.Trim();
string uPwd = txtUserPwd.Text.Trim();
//判断是否为空
if (string.IsNullOrEmpty(uName))
{
MessageBox.Show("请输入账号!", "登录提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
txtUserName.Focus();
return;
}
if (string.IsNullOrEmpty(uPwd))
{
MessageBox.Show("请输入密码!", "登录提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
txtUserPwd.Focus();
return;
}
//与数据库通信 检查输入与数据库中是否一致
{
string sql = "select count(1) from UserInfo where UserName=@UserName and UserPwd=@UserPwd";
SqlParameter[] paras =
{
new SqlParameter("@UserName", uName),
new SqlParameter("@UserPwd", uPwd)
};
// SqlHelper helper=new SqlHelper();
//静态不需要实例的 调用SqlHelper的方法
object o=SqlHelper.ExecuteScalar(sql, paras);
//处理结果
if (o == null || o == DBNull.Value || ((int)o) == 0)
{
MessageBox.Show("请登录账号或密码有错误,请检查", "登录提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
else
{
MessageBox.Show("登录成功", "登录提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
//跳转到主页面
}
}
//返回的结果进行不同的提示
}
/// <summary>
/// 退出
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnExit_Click(object sender, EventArgs e)
{
//this.Close();如果是主页面可以用这一条代码进行退出
Application.Exit();
}
}
}
希望对大家带来帮助