黑马程序员技术交流社区

标题: ADO.NET 学习第一天 登录窗口练习 与大家分享 [打印本页]

作者: 孙树迁    时间: 2012-3-24 01:07
标题: ADO.NET 学习第一天 登录窗口练习 与大家分享
终于到周末了,传智播客.Net培训—ADO.NetADO.NET 视频教程,从1看到9,因为以前有一点基础,所以听起来,不是很吃力,但是感觉很多,对SQL注入也有的深刻的理解。
同时也通过视频,知道了一个很有用的软件:Reflector (Reflector是由微软员工Lutz Roeder编写的免费程序。Reflector的出现使.NET程序员眼前豁然开朗,因为这个免费工具可以将.NET程序集中的中间语言反编译成C#或者Visual Basic代码) 太好了。百度搜索,下下来,果然好用,哈哈哈,
下边就帖一下我写的登陆练习代码:

  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.ComponentModel;  
  4. using System.Data;  
  5. using System.Drawing;  
  6. using System.Linq;  
  7. using System.Text;  
  8. using System.Windows.Forms;  
  9. using System.Data.SqlClient;  
  10.   
  11. namespace 登录练习1  
  12. {  
  13.     public partial class Form1 : Form  
  14.     {  
  15.         public Form1()  
  16.         {  
  17.             InitializeComponent();  
  18.         }  
  19.         string connStr = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\MyDb.mdf;Integrated Security=True;User Instance=True";  
  20.         private void Form1_Load(object sender, EventArgs e)  
  21.         {  
  22.   
  23.         }  
  24.         private void updateErrorTimes(int n)  
  25.         {  
  26.             using (SqlConnection conn = new SqlConnection(connStr))  
  27.             {  
  28.                 conn.Open();  
  29.                 using (SqlCommand cmd = conn.CreateCommand())  
  30.                 {  
  31.                     string sql="";  
  32.                     if (n==1)  
  33.                     {  
  34.                         sql="update T_Users set ErrorTimes=ErrorTimes+1 where username=@uname";  
  35.                     }else if (n==0){  
  36.                         sql="update T_Users set ErrorTimes=0 where username=@uname";  
  37.                     }  
  38.                     cmd.CommandText = sql;  
  39.                     cmd.Parameters.Add(new SqlParameter("uname",textName.Text));  
  40.                     cmd.ExecuteNonQuery();  
  41.                 }  
  42.             }  
  43.         }  
  44.   
  45.         private void button1_Click(object sender, EventArgs e)  
  46.         {  
  47.             using (SqlConnection conn = new SqlConnection(connStr))  
  48.             {  
  49.                 conn.Open();  
  50.                 using(SqlCommand cmd = conn.CreateCommand())  
  51.                 {  
  52.                     cmd.CommandText = "select * from T_Users where username=@uname";  
  53.                     cmd.Parameters.Add(new SqlParameter("uname",textName.Text));  
  54.                     SqlDataReader reader = cmd.ExecuteReader();  
  55.                     if (reader.Read())  
  56.                     {  
  57.                         int errTimes = reader.GetInt32(reader.GetOrdinal("ErrorTimes"));  
  58.                         if (errTimes >= 3)  
  59.                         {  
  60.                             MessageBox.Show("登陆次数过多,禁止登陆.");  
  61.                             return;  
  62.                         }  
  63.                         else {  
  64.                             string password = reader.GetString(reader.GetOrdinal("password"));  
  65.                             if (password == textPassword.Text)  
  66.                             {  
  67.                                 MessageBox.Show("登录成功");  
  68.                                 //登录错误次数改为0  
  69.                             }  
  70.                             else {  
  71.                                 MessageBox.Show("登录失败!");  
  72.                                 //登录错误次数加1  
  73.                                 updateErrorTimes(1);  
  74.                             }  
  75.                         }  
  76.                     }  
  77.                     else  
  78.                     {  
  79.                         MessageBox.Show("用户名不存在.");  
  80.                     }  
  81.   
  82.                 }  
  83.             }  
  84.         }  
  85.   
  86.     }  
  87. }  
复制代码

作者: 韩迎龙    时间: 2012-3-24 08:35
多谢分享了!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2