iT邦幫忙

2022 iThome 鐵人賽

DAY 22
0
自我挑戰組

ASP.NET & SQL Server系列 第 22

帳密系統程式實作(2)

  • 分享至 

  • xImage
  •  

嗨!今天我們就繼續昨天我們的內容吧!!

接下來的部分將會是在後端程式碼的地方去做操作,也就是C#的部分!

首先我們需要一個程式讓我們能夠驗證我們的身分,若是正確的帳號密碼才能進行我們之後的所有動作!!

於是我們要先宣告一個變數!

int AcoutAndPasswordchecknum = 0 ;

這個變數是方便我們來檢查使用者輸入的帳號及密碼是否是已存在於資料庫中的帳號及密碼,如果是的話則將此變數更改為1若不是的話則將此變數維持為0!

那這段判斷程式該在哪裡執行呢!相信我們聰明的讀者都已經知道了吧,沒錯就是要在我們的Page_Load裡面執行!

這裡是我們要做的判斷邏輯!!

注意到dr.read()這裡是指持續讀取資料的一種方法,如果有讀取到符合我們帳密的資料就會回傳true

if (!dr.Read())//如果有1筆以上的資料便是傳回true,沒有則傳回false
            {
            
                cmd.Cancel();

                dr.Close();

                conn.Close();
                

            }
            else
            {

                AcoutAndPasswordchecknum = 1;//有此帳號

                cmd.Cancel();

                dr.Close();

                conn.Close();


          
            }

            conn.Open();

            cmd2.Parameters.AddWithValue("id", Textbox1.Text);
            
            dr2 = cmd2.ExecuteReader();

            if (!dr2.Read())//如果有1筆以上的資料便是傳回true,沒有則傳回false
            {

                cmd2.Cancel();

                dr2.Close();

                conn.Close();


            }
            else
            {

                CheckAccountOnlynum = 1;//有此帳號

                cmd2.Cancel();

                dr2.Close();

                conn.Close();



            }

            GridView2.Visible = false;
           
            GridView1.Visible = false;
            
            Textbox3.Visible = false;

            Textbox4.Visible = false;

            Button5.Visible = false;

            Label1.Visible = false;

            Label2.Visible = false;
            //Response.Write(AcoutAndPasswordchecknum + "        ");

            //Response.Write(CheckAccountOnlynum);
            
            

而下面的程式碼則是我們要將符合條件的資料送進dr前檢查帳密的指令,我們是直接透過sql指令去檢查將相符的資料丟進dr裡,然後如果dr在執行上述的方法時沒有資料能夠讀取,則會使我們自行定義的變數維持0,反之則為1!

string sqlstr = "select * from strtable where [str_id] = @str_id and [str_password] = @str_password";

那這些只是這個功能一部份的程式,不要忘記我們還需要去web.config的檔案裡宣告我們的連結字串才能夠與資料庫產生連結通道喔!!

<?xml version="1.0" encoding="utf-8"?>

<!--
  如需如何設定 ASP.NET 應用程式的詳細資訊,請前往
  https://go.microsoft.com/fwlink/?LinkId=169433
  -->
<configuration>
  <system.web>
    <compilation debug="true" targetFramework="4.7.2"/>
    <httpRuntime targetFramework="4.7.2"/>
  </system.web>
	<connectionStrings>
		<add name="testConnectionString" connectionString="Data Source=.\SQLExpress;Initial Catalog=test;Integrated Security=True ;MultipleActiveResultSets=true"
		  providerName="System.Data.SqlClient"  />
	</connectionStrings>
  <system.codedom>
    <compilers>
      <compiler language="c#;cs;csharp" extension=".cs"
        type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
        warningLevel="4" compilerOptions="/langversion:default /nowarn:1659;1699;1701"/>
      <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb"
        type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
        warningLevel="4" compilerOptions="/langversion:default /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+"/>
    </compilers>
  </system.codedom>

</configuration>

上一篇
帳密系統程式實作(1)
下一篇
帳密系統程式實作(3)
系列文
ASP.NET & SQL Server30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言