ADO.NET的登录验证交互2

来源:互联网 发布:淘宝店出售 编辑:程序博客网 时间:2024/04/26 04:53

数据库设计:

数据库名: MyDataBase1.mdf

表名: T_Users

表数据:

using System;  using System.Collections.Generic;  using System.Text;  using System.Data.SqlClient;    namespace 登录  {      class Program      {          static void Main(string[] args)          {              //下面这段文字的作用已经在其它博文中解释!               string dataDir = AppDomain.CurrentDomain.BaseDirectory;              if (dataDir.EndsWith(@"\bin\Debug\")                  || dataDir.EndsWith(@"\bin\Release\"))              {                  dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName;                  AppDomain.CurrentDomain.SetData("DataDirectory", dataDir);              }                //定义用户名和密码变量               string username, password;                //提示用户输入用户名和密码               Console.WriteLine("请输入用户名:");              username = Console.ReadLine();              Console.WriteLine("请输入密码:");              password = Console.ReadLine();                //使用创建数据库连接               using(SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\MyDataBase1.mdf;Integrated Security=True;User Instance=True"))              {                  conn.Open();//打开数据库                                     //创建数据库查询命令                   using(SqlCommand cmd = conn.CreateCommand())                  {                      //查询命令为:查询UserName等于输入的用户名                       cmd.CommandText = "select * from T_Users where UserName='" + username + "'";                        //将查询到的数据保存在reader这个变量里                       using(SqlDataReader reader = cmd.ExecuteReader())                      {                          //如果reader.Read()的结果不为空, 则说明输入的用户名存在                           if(reader.Read())                          {                              /*从数据库里查询出和用户相对应的PassWorld的值                              *reader.GetOrdinal("PassWord")的作用是得到PassWord的为这行数据中的第几列,返回回值是int                              *reader.GetString()的作用是得到第几列的值,返回类型为String.                              */                              string dbpassword = reader.GetString(reader.GetOrdinal("PassWord"));                                                            //比较用户输入的密码与从数据库中查询到的密码是否一至                               if(password==dbpassword)                              {                                  //如果相等,就登录成功                                   Console.WriteLine("登录成功!");                              }                              else                              {                                  //如果不相等,说明密码不对                                   Console.WriteLine("输入的密码有误!");                              }                            }                          else                          {                              //说明输入的用户名不存在                               Console.WriteLine("输入的用户名不存在!");                          }                      }                    }                }                    Console.ReadKey();          }      }  }  


1 0