麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > .NET > 正文

ADO.NET制做一個登錄案例

2024-07-10 13:31:05
字體:
來源:轉載
供稿:網友

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

方案一:
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類,在里面聲明一個方法來獲取,連接字符串:

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Configuration;//在項目中添加這個的引用,并在這個類里面添加這個命名空間namespace ADO.NET登錄案例1{  public class DBHelper  {    public static string GetConnectionStrings()    {      //使用ConfigurationManager類,來獲取連接字符串的信息。      return ConfigurationManager.ConnectionStrings["ConStr"].ConnectionString;    }  }}

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

IF OBJECT_ID('Ins_User','P') IS NOT NULL  DROP PROCEDURE Ins_User GO CREATE PROCEDURE Ins_User @name NVARCHAR(20) AS  SELECT * FROM dbo.T_USERS WHERE T_NAME=@name GO 

存儲過程

前期的準備工作,做好之后,現在我們來開始寫程序,編碼實現:
思路:方案一,說了,首先我們當然是讓用戶輸入,用戶名和密碼,然后根據用戶輸入的用戶名來查詢數據庫對應的表中,有沒有相關數據,如果沒有的話,就提示用戶名不存在,有的話,就繼續判斷用戶輸入的密碼是否正確(拿用戶輸入的密碼和數據庫對應的密碼,進行判斷),如果正確,就提示登錄成功,否則就提示密碼錯誤。 
*這里我使用參數化查詢,來寫登錄的案例,目的是為了防止SQL注入攻擊。

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Data;using System.Data.SqlClient;namespace ADO.NET登錄案例1{  class Program  {    static void Main(string[] args)    {      //提示用戶輸入用戶名      Console.WriteLine("請輸入用戶名:");      //使用Console.ReadLine()接收用戶輸入的信息      string userName = Console.ReadLine();      //提示用戶輸入密碼      Console.WriteLine("請輸入密碼:");      string password = Console.ReadLine();      //現在就是開始使用ADO.NET技術,來查詢數據庫了      //連接方式訪問      //1.創建連接對象(連接字符串)      SqlConnection scon = new SqlConnection(DBHelper.GetConnectionStrings());      //2.創建命令對象(并為命令對象設置屬性值)      SqlCommand scmd = new SqlCommand();      scmd.CommandText = "Ins_User";      scmd.CommandType = CommandType.StoredProcedure;      scmd.Connection = scon;      //3打開連接      scon.Open();      //設置參數      scmd.Parameters.Add(new SqlParameter("@name",userName.Trim()));      //4.執行命令      SqlDataReader reader = scmd.ExecuteReader(CommandBehavior.CloseConnection);      //5處理數據      if (reader.Read())      {        if (password.Trim().ToString() == reader["T_PWD"].ToString())        {          Console.WriteLine("登錄成功");        }        else        {          Console.WriteLine("密碼錯誤");        }      }      else      {        Console.WriteLine("用戶名不存在");      }      //讀取器用完一定要關閉      reader.Dispose();      Console.ReadKey();    }  }}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到ASP.NET教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久亚洲春色中文字幕久久 | 在火车上摸两乳爽的大叫 | 国产亚洲精品综合一区91 | 亚洲第一成人在线观看 | 午夜国内精品a一区二区桃色 | 麻豆19禁国产青草精品 | 欧美高清在线精品一区二区不卡 | 2021免费日韩视频网 | 斗罗破苍穹在线观看免费完整观看 | 国产99久久精品一区二区300 | 亚洲射逼 | 欧美激情图区 | 欧美日韩在线看片 | 国产精品午夜一区 | 国产精品视频海角社区88 | h视频在线播放 | 鲁久久 | 久久久久久久久久久久久久国产 | 国产精品久久久久久久久久久天堂 | 久久精品视频69 | 国产美女做爰免费视 | 亚洲一区二区中文字幕在线观看 | 在线免费日韩 | 刘亦菲一区二区三区免费看 | 一级裸体视频 | 精品亚洲午夜久久久久91 | 成人在线a | 黑人一级片视频 | 日韩中文字幕三区 | 日本aaa一级片 | 黑人一区二区三区四区五区 | 久久久久北条麻妃免费看 | 国产999视频在线观看 | 一区二区三区欧美精品 | 欧美日韩综合视频 | 日韩视频中文 | 91视频站| 欧美成a人片在线观看久 | 国产午夜精品一区二区三区免费 | 亚洲午夜视频在线 | 91久久夜色精品国产网站 |