EF零基础做出winform登录实例

注:EF登录实例教程。使用工具:SQL Server、Visual Studio

1、新建一个数据表,起名Users,新建三个字段ID,UserName,Password。如果自己懒的建,直接复制下面的代码到sql中执行即可。

create database EF     //新建数据库
create table Users (   //新建数据库表
    ID int identity(1,1) not null,
    UserName nchar(10) not null,
    Password nchar(10) not null
)
insert into Users(UserName,Password) values('admin','admin') //插入一行数据

2、新建一个Windows窗体应用程序,起名EFLogin,画登录窗体。

这里写图片描述  这里写图片描述

3、添加实体模型,完成与特定数据库的连接。

  • 使用快捷键ctrl+shift+A打开【添加新项】对话框,选择数据ADO.NET实体数据模型,起名EFLogin,单击添加即可。
    这里写图片描述
  • 选择模型内容。 在弹出的【实体数据模型向导】对话框,选择“从数据库生成”,单击下一步即可。
    这里写图片描述
  • 选择数据库连接。单击新建连接,【服务器名】输入点(.),表示本机数据库服务器;【使用SQL Server身份验证】,输入用户名和密码,选中保存密码。在下面【选择或输入数据库名称】的下拉框中选择EF数据库。点击【确定】即可。
    这里写图片描述
  • 保存连接字符串。选择【是,在连接字符串中包括敏感数据】,单击下一步。
    这里写图片描述
  • 选择【表】–【dbo】–【Users】,选中【确定所生成对象名称的单复数形式(S)】,单击【完成】,实体模型就添加好了。
    这里写图片描述

4、编写功能代码,实现登录。

在画好的登录窗体上双击登录按钮,复制下面的代码。

/// <summary>
/// 数据上下文对象
/// </summary>
static EFEntities db = new EFEntities();

private void btnLogin_Click(object sender, EventArgs e)
{
    string uid = txtUserName.Text.Trim();
    string pwd = txtPassword.Text.Trim();

    //1.判断用户名是否存在
    List<User> list = db.Users.Where(u => u.UserName == uid).ToList();
    if (list.Count >= 1)
    {
        //用户存在
        //2.判断密码是否正确
        List<User> list2 = db.Users.Where(u => u.UserName == uid && u.Password == pwd).ToList();
        if (list2.Count >= 1)
        {
            //用户存在且密码正确
            MessageBox.Show("登录成功!", "温馨提示");
        }
        else
        {
            MessageBox.Show("用户存在但密码不正确!", "温馨提示");
        }
    }
    else
    {
        MessageBox.Show("用户不存在!", "温馨提示");
    }
}

重写User实体类的ToString()方法,方便数据的查询和显示。

  • ctrl+shift+A,添加类。如果直接以User命名的话会报重名的错误,咱起名为OverWriteUser,然后在代码中把类名改成User即可。
    这里写图片描述
namespace EFLogin
{
    public partial class User
    {
        public override string ToString()
        {
            return this.UserName + "," + this.Password;
        }
    }
}
  • 效果图展示
    这里写图片描述这里写图片描述

ok,至此,利用EF实现winform登录的实例就全部做完了。
总结
  简单的登录实例,按照上述步骤操作,只要稍微有一些winform编程基础的同学,即使之前没有听说过EF,也应该可以很顺利的敲出这个实例的。那本文的目的就达到了,给初学EF的同学一个最直观的感受。【如有不足之处,欢迎指正】

展开阅读全文

没有更多推荐了,返回首页