最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

ADO.NET制做一個(gè)登錄案例

 更新時(shí)間:2016年07月21日 09:36:10   作者:灰太狼的夢(mèng)想  
這篇文章主要為大家介紹了ADO.NET制做一個(gè)登錄案例的詳細(xì)過程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

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

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

方案二: 
select * from 表名 where username="用戶輸入的用戶名" and password="用戶輸入的密碼",如果查得到數(shù)據(jù),就登錄成功。否則登錄失敗。 

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

這里,為了方便,還是用控制臺(tái)應(yīng)用程序吧。
前奏:
我這次要把連接字符串寫在配置文件中, 
1.首先我們要添加命名空間的引用:System.Configuration; 
2.然后在我們的配置文件AppConfig中,的<Configuration>節(jié)點(diǎn)下面添加連接字符串的相關(guān)節(jié)點(diǎn)信息。 

<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>

標(biāo)紅顏色的地方,就是我們添加的連接字符串節(jié)點(diǎn)信息; 

3.然后我習(xí)慣,創(chuàng)建一個(gè)DBHelper類,在里面聲明一個(gè)方法來獲取,連接字符串:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Configuration;//在項(xiàng)目中添加這個(gè)的引用,并在這個(gè)類里面添加這個(gè)命名空間

namespace ADO.NET登錄案例1
{
  public class DBHelper
  {
    public static string GetConnectionStrings()
    {
      //使用ConfigurationManager類,來獲取連接字符串的信息。
      return ConfigurationManager.ConnectionStrings["ConStr"].ConnectionString;
    }
  }
}

4.這次我依然使用存儲(chǔ)過程,創(chuàng)建一個(gè)根據(jù)用戶名查詢的存儲(chǔ)過程:

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 

存儲(chǔ)過程

前期的準(zhǔn)備工作,做好之后,現(xiàn)在我們來開始寫程序,編碼實(shí)現(xiàn):
思路:方案一,說了,首先我們當(dāng)然是讓用戶輸入,用戶名和密碼,然后根據(jù)用戶輸入的用戶名來查詢數(shù)據(jù)庫對(duì)應(yīng)的表中,有沒有相關(guān)數(shù)據(jù),如果沒有的話,就提示用戶名不存在,有的話,就繼續(xù)判斷用戶輸入的密碼是否正確(拿用戶輸入的密碼和數(shù)據(jù)庫對(duì)應(yīng)的密碼,進(jìn)行判斷),如果正確,就提示登錄成功,否則就提示密碼錯(cuò)誤。 
*這里我使用參數(shù)化查詢,來寫登錄的案例,目的是為了防止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("請(qǐng)輸入用戶名:");
      //使用Console.ReadLine()接收用戶輸入的信息
      string userName = Console.ReadLine();
      //提示用戶輸入密碼
      Console.WriteLine("請(qǐng)輸入密碼:");
      string password = Console.ReadLine();


      //現(xiàn)在就是開始使用ADO.NET技術(shù),來查詢數(shù)據(jù)庫了

      //連接方式訪問
      //1.創(chuàng)建連接對(duì)象(連接字符串)
      SqlConnection scon = new SqlConnection(DBHelper.GetConnectionStrings());

      //2.創(chuàng)建命令對(duì)象(并為命令對(duì)象設(shè)置屬性值)
      SqlCommand scmd = new SqlCommand();
      scmd.CommandText = "Ins_User";
      scmd.CommandType = CommandType.StoredProcedure;
      scmd.Connection = scon;

      //3打開連接
      scon.Open();


      //設(shè)置參數(shù)
      scmd.Parameters.Add(new SqlParameter("@name",userName.Trim()));

      //4.執(zhí)行命令
      SqlDataReader reader = scmd.ExecuteReader(CommandBehavior.CloseConnection);


      //5處理數(shù)據(jù)
      if (reader.Read())
      {

        if (password.Trim().ToString() == reader["T_PWD"].ToString())
        {
          Console.WriteLine("登錄成功");
        }
        else
        {
          Console.WriteLine("密碼錯(cuò)誤");
        }
      }
      else
      {
        Console.WriteLine("用戶名不存在");
      }
      //讀取器用完一定要關(guān)閉
      reader.Dispose();
      Console.ReadKey();

    }
  }
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • ASP.NET配置文件中自定義節(jié)點(diǎn)

    ASP.NET配置文件中自定義節(jié)點(diǎn)

    這篇文章介紹了ASP.NET配置文件中自定義節(jié)點(diǎn)的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05
  • Asp.net SignalR創(chuàng)建實(shí)時(shí)聊天應(yīng)用程序

    Asp.net SignalR創(chuàng)建實(shí)時(shí)聊天應(yīng)用程序

    這篇文章主要介紹了Asp.net SignalR創(chuàng)建實(shí)時(shí)聊天應(yīng)用程序,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • asp.net COOKIES需要注意的一點(diǎn)

    asp.net COOKIES需要注意的一點(diǎn)

    COOKIES是很方便使用,也是很廣泛使用的狀態(tài)存儲(chǔ)體
    2008-11-11
  • Asp.net 頁面導(dǎo)航的幾種方法與比較 分享

    Asp.net 頁面導(dǎo)航的幾種方法與比較 分享

    在ASP.NET應(yīng)用中,Web表單之間的導(dǎo)航有多種方式:用超級(jí)鏈接,用Response.Redirect,用Server.Transfer,或者用Server.Execute。本文將分析這四種導(dǎo)航方式的異同及其優(yōu)缺點(diǎn),幫助你選擇最佳的導(dǎo)航方式。
    2013-07-07
  • AutoMapper實(shí)體映射基本用法

    AutoMapper實(shí)體映射基本用法

    這篇文章介紹了AutoMapper實(shí)體映射的基本用法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03
  • Asp.Net使用Npoi導(dǎo)入導(dǎo)出Excel的方法

    Asp.Net使用Npoi導(dǎo)入導(dǎo)出Excel的方法

    這篇文章主要介紹了Asp.Net使用Npoi導(dǎo)入導(dǎo)出Excel的方法,采用該方法在導(dǎo)出Excel的時(shí)候不需要office組件的支持,而在導(dǎo)入Excel的時(shí)候采用OleDb的方式,需要office組件的支持。是一個(gè)非常實(shí)用的技巧,需要的朋友可以參考下
    2014-09-09
  • 詳談.NET的異常處理

    詳談.NET的異常處理

    本文在對(duì)異常的介紹中,主要介紹了CLR的異常處理機(jī)制,一些較為通用的異常代碼,以及對(duì)Exception類的介紹。具有很好的參考價(jià)值,需要的朋友一起來看下吧
    2016-12-12
  • 在.NET?6中使用日志組件log4net的方法

    在.NET?6中使用日志組件log4net的方法

    本文詳細(xì)講解了Asp.Net?Core中使用日志組件log4net的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-11-11
  • Entity?Framework使用Code?First的實(shí)體繼承模式

    Entity?Framework使用Code?First的實(shí)體繼承模式

    本文詳細(xì)講解了Entity?Framework使用Code?First的實(shí)體繼承模式,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03
  • C#中使用SendMessage

    C#中使用SendMessage

    C#中使用SendMessage...
    2006-09-09

最新評(píng)論

和田县| 宁河县| 白水县| 怀柔区| 东平县| 天门市| 乌拉特中旗| 天台县| 阜阳市| 长岛县| 顺昌县| 深圳市| 烟台市| 湘西| 桦川县| 龙井市| 报价| 耒阳市| 陇南市| 福清市| 仪征市| 福泉市| 通河县| 衡阳县| 噶尔县| 盱眙县| 格尔木市| 新安县| 拉萨市| 油尖旺区| 广州市| 北海市| 子长县| 阳西县| 麻城市| 桐乡市| 铁岭市| 灵丘县| 潼关县| 荆门市| 铜山县|