第五天
學(xué)習(xí)目的:
掌握ADO.NET打開SQL SERVER數(shù)據(jù)庫的方法。
今天做個非常普通的例子,做一個用戶登錄框。主要是通過這個練習(xí)認(rèn)識一下SQL SERVER數(shù)據(jù)庫的連接方法。和昨天的例子方法基本相同,很容易掌握的。
先建立SQL SERVER數(shù)據(jù)庫,庫名為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="數(shù)據(jù)庫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,并設(shè)置txtPassword的TextMode為Password。設(shè)置按鈕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>");
return;
}
string strConnection = ConfigurationSettings.AppSettings["SqlDatabase1"];
string sqlMember = "SELECT MemberName ,[Password] FROM Member "
+ " WHERE MemberName = "" + txtMemberName.Text.Trim() + """
+ " AND [Password] = "" + txtPassword.Text.Trim() + """;
// 連接SqlServer數(shù)據(jù)庫
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>");
}
// 千萬不要忘記關(guān)閉DataReader
dr.Close();
conn.Close();
}
好了,一個非常簡單的登錄框做好了。當(dāng)然在實際程序中還應(yīng)加入跳轉(zhuǎn)等,這個就留給你做了。