zoukankan      html  css  js  c++  java
  • 【C#】强类型DataSet实现登录次数限制

      net小伙曾在博文中写过一篇文章:【C#】登陆次数限制;那个程序的代码长,如今net小伙又学了一个新方法,可以让此程序的代码缩短很多,而且很清晰;

      首先介绍什么是强类型DataSet,即返回的数据是确定的数据类型的一个集合。弱类型DataSet返回的是object类型的数据,需要通过转换才能使用返回的数据。若数据源中的数据对象从来都不变,或者你从来就不改数据源里的数据对象,就可以用强类型的DataSet;若使用的是生成式的数据库,就使用弱类型DataSet。

      怎么创建强类型DataSet。

      ①:添加新项-->创建一个数据集;

      ②:视图-->服务资源管理器,连接项目中所需要的数据库,然后把需要的数据库表拖拽到数据集中。

      ③:保存,生成;

      怎么在强类型DataSet中DIY数据库代码。

      在数据集中右击-->添加查询,然后按照步骤就OK了;

      解决了上面的问题,现在就开始实现功能了。

      首先建立数据库,数据库中的字段: id 主键,自增; UserName 用户名; PassWord 用户密码; ErrorTimes错误次数;

      然后创建此表的数据集,

      //通过用户名查找数据

      添加查询:SELECT id, UserName, PassWord, ErrorTimes FROM dbo.T_User where UserName=@username 方法名称:GetDataByusername1;

      //实现错误次数自动增加

      添加查询,选择修改:UPDATE [dbo].[T_User] SET ErrorTimes=ErrorTimes+1 WHERE (id = @id) 方法名称:incerrortimes;

      //修改错误次数为0

      添加查询,选择修改:UPDATE [dbo].[T_User] SET ErrorTimes=0 WHERE (id = @id) 方法名称:reseterrortimes;

      这次net小伙用的仍旧是winform,两个textbox,一个button;双击按钮编写按钮事件:

      

            private void button1_Click(object sender, EventArgs e)
            {
                T_UserTableAdapter adapter = new T_UserTableAdapter();
                UsingDataSet.text.T_UserDataTable users = adapter.GetDataByusername1(textBox1.Text);    //得到返回的数据
                if (users.Count <= 0)
                {
                    MessageBox.Show("用户名错误!");
                }
                else
                {
                    UsingDataSet.text.T_UserRow userrow = users[0];     //得到返回数据的第一行
                    if (userrow.ErrorTimes > 3)     //判断登录次数
                    {
                        MessageBox.Show("错误次数超过三,不能登录!");
                        return;
                    }
                    if (userrow.PassWord == textBox2.Text)  //判断登录密码
                    {
                        MessageBox.Show("登录成功!");
                        adapter.reseterrortimes(userrow.id);    //通过强类型DataSet重置错误次数
                    }
                    else
                    {
                        MessageBox.Show("密码错误!");
                        adapter.incerrortimes(userrow.id);      //通过强类型DataSet把错误次数增加一
                    }         
                }
    

      点击运行。

        

  • 相关阅读:
    PDA固定资产条码管理系统软件-解决固定资产实物清查的瓶颈问题,大大提高清查效率
    互联网+下PDA移动智能手持POS超市收银开单软件
    搭建免费代理池
    解析库beautifulsoup
    爬取汽车之家新闻
    请求库之requests库
    网络状态码301与302
    正向代理与反向代理
    垃圾回收机制详解
    HTTP协议详解
  • 原文地址:https://www.cnblogs.com/ngnetboy/p/2595323.html
Copyright © 2011-2022 走看看