国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

ADO.NET學習系列(三)----做一個登錄案例

2019-11-14 15:59:42
字體:
來源:轉載
供稿:網友

總體思路.根據用戶輸入的用戶名和密碼,來判斷,和數據庫里面存的是不是一樣,如果一樣就表明登錄成功,否則就登錄失敗。

方案一:

1.select* from 表名 where username="用戶輸入的用戶名"

2.如果存在 reader.Read(),即用戶名存在,接著就判斷用戶輸入的密碼,和取到的密碼(reader.GetString(reader.GetOridinal("密碼字段")))是不是一樣,如果一樣就登錄成功,否則就登錄失敗。

方案二:

select * from 表名 where username="用戶輸入的用戶名" and passWord="用戶輸入的密碼",如果查得到數據,就登錄成功。否則登錄失敗。

下面,我們來使用方案一,來做一個登錄的案例吧。

這里,為了方便,還是用控制臺應用程序吧。

 

前奏:

我這次要把連接字符串寫在配置文件中,

1.首先我們要添加命名空間的引用:System.Configuration;

2.然后在我們的配置文件AppConfig中,的<Configuration>節點下面添加連接字符串的相關節點信息。

<configuration>
<connectionStrings>
<add name="ConStr" connectionString="server=.;database=DB_USERS;uid=sa;pwd=Pasword_1"/>
</connectionStrings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
</configuration>

標紅顏色的地方,就是我們添加的連接字符串節點信息;

3.然后我習慣,創建一個DBHelper類,在里面聲明一個方法來獲取,連接字符串:

 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 using System.Configuration;//在項目中添加這個的引用,并在這個類里面添加這個命名空間 7  8 namespace ADO.NET登錄案例1 9 {10     public class DBHelper11     {12         public static string GetConnectionStrings()13         {14             //使用ConfigurationManager類,來獲取連接字符串的信息。15             return ConfigurationManager.ConnectionStrings["ConStr"].ConnectionString;16         }17     }18 }

4.這次我依然使用存儲過程,創建一個根據用戶名查詢的存儲過程:

1   IF OBJECT_ID('Ins_User','P') IS NOT NULL 2   DROP PROCEDURE Ins_User3   GO4   CREATE PROCEDURE Ins_User5   @name NVARCHAR(20)6 7   AS 8   SELECT * FROM dbo.T_USERS WHERE T_NAME=@name9   GO 
存儲過程

前期的準備工作,做好之后,現在我們來開始寫程序,編碼實現:

思路:方案一,說了,首先我們當然是讓用戶輸入,用戶名和密碼,然后根據用戶輸入的用戶名來查詢數據庫對應的表中,有沒有相關數據,如果沒有的話,就提示用戶名不存在,有的話,就繼續判斷用戶輸入的密碼是否正確(拿用戶輸入的密碼和數據庫對應的密碼,進行判斷),如果正確,就提示登錄成功,否則就提示密碼錯誤。

*這里我使用參數化查詢,來寫登錄的案例,目的是為了防止SQL注入攻擊。

 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 using System.Data; 7 using System.Data.SqlClient; 8  9 namespace ADO.NET登錄案例110 {11     class Program12     {13         static void Main(string[] args)14         {15             //提示用戶輸入用戶名16             Console.WriteLine("請輸入用戶名:");17             //使用Console.ReadLine()接收用戶輸入的信息18             string userName = Console.ReadLine();19             //提示用戶輸入密碼20             Console.WriteLine("請輸入密碼:");21             string password = Console.ReadLine();22 23 24             //現在就是開始使用ADO.NET技術,來查詢數據庫了25 26             //連接方式訪問27             //1.創建連接對象(連接字符串)28             SqlConnection scon = new SqlConnection(DBHelper.GetConnectionStrings());29 30             //2.創建命令對象(并為命令對象設置屬性值)31             SqlCommand scmd = new SqlCommand();32             scmd.CommandText = "Ins_User";33             scmd.CommandType = CommandType.StoredProcedure;34             scmd.Connection = scon;35 36             //3打開連接37             scon.Open();38 39 40             //設置參數41             scmd.Parameters.Add(new SqlParameter("@name",userName.Trim()));42 43            //4.執行命令44             SqlDataReader reader = scmd.ExecuteReader(CommandBehavior.CloseConnection);45 46 47             //5處理數據48             if (reader.Read())49             {50 51                 if (password.Trim().ToString() == reader["T_PWD"].ToString())52                 {53                     Console.WriteLine("登錄成功");54                 }55                 else56                 {57                     Console.WriteLine("密碼錯誤");58                 }59             }60             else61             {62                 Console.WriteLine("用戶名不存在");63             }64             //讀取器用完一定要關閉65             reader.Dispose();66             Console.ReadKey();67 68         }69     }70 }
代碼實現

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 七台河市| 大悟县| 柯坪县| 英山县| 庆云县| 辽阳县| 都安| 东港市| 兖州市| 兴化市| 遵义市| 盐源县| 视频| 赣州市| 利津县| 新兴县| 西林县| 邹平县| 庆元县| 河曲县| 巴青县| 京山县| 七台河市| 璧山县| 溆浦县| 古田县| 栾城县| 蚌埠市| 德州市| 从化市| 拉孜县| 普安县| 康马县| 沙洋县| 农安县| 汽车| 浦城县| 德令哈市| 云安县| 涪陵区| 中阳县|