學習目的:
掌握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();
}
好了,一個非常簡單的登入框做好了。當然在實際程式中還應加入跳轉等,這個就留給你做了。