[C#] 連接數據庫並驗證用戶名和密碼


 

連接數據庫, 請根據用用戶的輸入和數據庫里的信息進行比較, 判斷用戶名和密碼是否正確

數據庫設計:

數據庫名: MyDataBase1.mdf

表名: T_Users

表數據:

 

程序代碼

[csharp] view plain copy print ?
  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Text;  
  4. using System.Data.SqlClient;  
  5.   
  6. namespace 登錄  
  7. {  
  8.     class Program  
  9.     {  
  10.         static void Main(string[] args)  
  11.         {  
  12.             //下面這段文字的作用已經在其它博文中解釋!   
  13.             string dataDir = AppDomain.CurrentDomain.BaseDirectory;  
  14.             if (dataDir.EndsWith(@"\bin\Debug\")  
  15.                 || dataDir.EndsWith(@"\bin\Release\"))  
  16.             {  
  17.                 dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName;  
  18.                 AppDomain.CurrentDomain.SetData("DataDirectory", dataDir);  
  19.             }  
  20.   
  21.             //定義用戶名和密碼變量   
  22.             string username, password;  
  23.   
  24.             //提示用戶輸入用戶名和密碼   
  25.             Console.WriteLine("請輸入用戶名:");  
  26.             username = Console.ReadLine();  
  27.             Console.WriteLine("請輸入密碼:");  
  28.             password = Console.ReadLine();  
  29.   
  30.             //使用創建數據庫連接   
  31.             using(SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\MyDataBase1.mdf;Integrated Security=True;User Instance=True"))  
  32.             {  
  33.                 conn.Open();//打開數據庫   
  34.                   
  35.                 //創建數據庫查詢命令   
  36.                 using(SqlCommand cmd = conn.CreateCommand())  
  37.                 {  
  38.                     //查詢命令為:查詢UserName等於輸入的用戶名   
  39.                     cmd.CommandText = "select * from T_Users where UserName='" + username + "'";  
  40.   
  41.                     //將查詢到的數據保存在reader這個變量里   
  42.                     using(SqlDataReader reader = cmd.ExecuteReader())  
  43.                     {  
  44.                         //如果reader.Read()的結果不為空, 則說明輸入的用戶名存在   
  45.                         if(reader.Read())  
  46.                         {  
  47.                             /*從數據庫里查詢出和用戶相對應的PassWorld的值 
  48.                              *reader.GetOrdinal("PassWord")的作用是得到PassWord的為這行數據中的第幾列,返回回值是int 
  49.                              *reader.GetString()的作用是得到第幾列的值,返回類型為String. 
  50.                              */  
  51.                             string dbpassword = reader.GetString(reader.GetOrdinal("PassWord"));  
  52.                               
  53.                             //比較用戶輸入的密碼與從數據庫中查詢到的密碼是否一至   
  54.                             if(password==dbpassword)  
  55.                             {  
  56.                                 //如果相等,就登錄成功   
  57.                                 Console.WriteLine("登錄成功!");  
  58.                             }  
  59.                             else  
  60.                             {  
  61.                                 //如果不相等,說明密碼不對   
  62.                                 Console.WriteLine("輸入的密碼有誤!");  
  63.                             }  
  64.   
  65.                         }  
  66.                         else  
  67.                         {  
  68.                             //說明輸入的用戶名不存在   
  69.                             Console.WriteLine("輸入的用戶名不存在!");  
  70.                         }  
  71.                     }  
  72.   
  73.                 }  
  74.   
  75.             }        
  76.             Console.ReadKey();  
  77.         }  
  78.     }  
  79. }  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM