您的位置:首页 > 编程语言 > C#

【C#】强类型DataSet实现登录次数限制

2012-07-17 15:44 441 查看
  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把错误次数增加一
}
}


  点击运行。

    
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: