天天看點

第五天

學習目的:

掌握ado.net打開sql server資料庫的方法。

今天做個非常普通的例子,做一個使用者登入框。主要是通過這個練習認識一下sql server資料庫的連接配接方法。和昨天的例子方法基本相同,很容易掌握的。

先建立sql server資料庫,庫名為aspnetabc,并建立一member新表,建表sql如下:

create table [dbo].[member] (

    [memberid] [int] identity (1, 1) not null ,

    [membername] [nvarchar] (50) collate chinese_prc_ci_as not null ,

    [password] [nvarchar] (50) collate chinese_prc_ci_as not null ,

    [gender] [bit] not null ,

    [birthday] [datetime] null ,

    [email] [nvarchar] (50) collate chinese_prc_ci_as null

) on [primary]

alter table [dbo].[member] with nocheck add

    constraint [pk_member] primary key clustered

    (

        [memberid]

    ) on [primary]

與上一例子差不多,在web.config檔案中再增加一行:

<appsettings>

<add key="資料庫1" value="ex01.mdb" />

<add key="sqldatabase1" value="data source=localhost;user id=sa;password=sa;initial catalog=aspnetabc;connect timeout=30" />

</appsettings>

在面中添加二個文本框,txtmembername、txtpassword,并設定txtpassword的textmode為password。設定按鈕btnlogin。btnlogin的事件代碼如下:

        private void btnlogin_click(object sender, system.eventargs e)

        {

            // 先檢驗輸入正确性

            if (txtmembername.text == string.empty || txtmembername.text.trim() == "")

            {

                response.write("<script language=javascript>alert('帳号不能為空')</script>");

                return;

            }

            if (txtpassword.text == string.empty || txtpassword.text.trim() == "")

                response.write("<script language=javascript>alert('沒有輸入密碼')</script>");

            string strconnection = configurationsettings.appsettings["sqldatabase1"];

            string sqlmember = "select membername ,[password] from member "

                + " where membername = '" + txtmembername.text.trim() + "'"

                + " and [password] = '" + txtpassword.text.trim() + "'";

            // 連接配接sqlserver資料庫

            sqlconnection conn = new sqlconnection(strconnection);

            // 建立sqlcommand

            sqlcommand cmd = conn.createcommand();

            cmd.commandtext = sqlmember;

            conn.open();

            // 建立datareader

            sqldatareader dr = cmd.executereader();

            // 判斷datareader是否為空記錄

            if (dr.hasrows)

                response.write("<script language=javascript>alert('" + txtmembername.text + "歡迎你!')</script>");

            else

                response.write("<script language=javascript>alert('找不到該會員,或密碼錯誤。')</script>");

            // 千萬不要忘記關閉datareader

            dr.close();

            conn.close();

        }

好了,一個非常簡單的登入框做好了。當然在實際程式中還應加入跳轉等,這個就留給你做了。