<!--我的第一個asp+程序-->
<!--如有轉載,請註明出處! 作者:大自然主頁:http://zhanzhen.wayall.com 歡迎來信[email protected]指教-->
<!--作者瞎寫:這麼一段程序可是花了我n長時間啊。 。唉。 。主要是對ado+了解不太深,一開始為了節省系統資源,所以用了datareader,後來發現原來功能這差的,就改用dataset,唉。 。用慣了原來的ado模式,一下子真是不適應:(,還有那個vs7,雖然寫起asp+來還算方便,不過好像很容易崩潰,不過有點好就是崩掉後會馬上重新啟動程序。: )-->
<!--程序功能:利用asp+中的panel這個web control來實現三個窗口的切換,從而使我們原告在asp裡要用三張頁面實現的功能(如果硬湊在一張也是可以的,不過不要太複雜哦)現在只要一張頁面就能完事了。然後用ado+的dataset和datatable控件來完成對數據庫的操作-->
<!--
前期工作:在sql server裡建立一個mytest數據庫,然後把這段放到sql query analyzer裡運行一下
create table [dbo].[tb_user] (
[intid] [int] identity (1, 1) not null ,
[vcuserid] [varchar] (20) not null ,
[vcpassword] [varchar] (20) not null ,
[vcname] [varchar] (20) null ,
[vctel] [varchar] (20) null ,
[vcaddr] [varchar] (50) null
) on [primary]
go
然後你可以插入幾條測試數據就行了,我也是asp+的新手,希望能互相學習,一起提高:)
-->
<%@ import namespace=system.data.ado %>
<%@ import namespace=system.data %>
<html>
<head>
<meta name=generator content=microsoft visual studio.net 7.0>
<meta name=code_language content=visual basic 7.0>
<title>修改個人基本信息</title>
</head>
<body>
<form id=panelsc method=post runat=server>
<!--登錄窗口-->
<asp:panel id=step1 runat=server>
步驟一: (請輸入帳號及密碼)<p>
<blockquote>
帳號: <asp:textbox id=userid runat=server></asp:textbox><p>
密碼: <asp:textbox id=password runat=server textmode=password></asp:textbox><p>
<input id=button1 type=button value= 登入runat=server onserverclick=button1_click></p>
</blockquote>
<div id=div1 runat=server></div>
</asp:panel>
<!--修改窗口-->
<asp:panel id=step2 runat=server>
步驟二: (請修改姓名、電話、地址)<p>
<blockquuote>
姓名: <asp:textbox id=name runat=server text=></asp:textbox><p>
電話: <asp:textbox id=tel runat=server text=></asp:textbox><p>
地址: <asp:textbox id=addr runat=server text=></asp:textbox><p>
<input id=button2 type=button value= 修改runat=server onserverclick=button2_click>
</blockquote>
<div id=div2 runat=server></div>
</asp:panel>
<!--確認窗口-->
<asp:panel id=step3 runat=server>
步驟三: (請確認您輸入的數據)<p>
<blockquote>
<div id=div3 runat=server></div>
<input id=button3 type=button value= 確定runat=server onserverclick=button3_click>
</blockquote>
</asp:panel>
<!--成功窗口-->
<asp:panel id=step4 runat=server>
<blockquote>
<div id=div4 runat=server></div>
</blockquote>
</asp:panel>
</form>
</body>
</html>
<script language=vb runat=server>
sub page_load(sender as object, e as eventargs)
if not page.ispostback then
step1.visible = true
step2.visible = false
step3.visible = false
end if
end sub
sub button1_click(sender as object, e as eventargs)
dim connstr,sqlquery as string
dim i as integer = 0
connstr = driver={sql server}; server=localhost; uid=sa; pwd=; database=mytest
sqlquery = select vcname, vctel, vcaddr from tb_user where vcuserid = ' & userid.text & ' and vcpassword = ' & password.text & '
dim cmd as adodatasetcommand = new adodatasetcommand(sqlquery, connstr)
dim rs as dataset = new dataset()
cmd.filldataset(rs, tb_user)
dim dt as datatable = rs.tables(tb_user)
i = dt.rows.count
if i = 1 then
name.text = dt.rows(0).item(0)
tel.text = dt.rows(0).item(1)
addr.text = dt.rows(0).item(2)
step1.visible = false
step2.visible = true
step3.visible = false
else
step1.visible = true
step2.visible = false
step3.visible = false
div1.innerhtml = 登錄失敗!請檢查你的帳號和密碼是否正確!
end if
end sub
sub button2_click(sender as object, e as eventargs)
step1.visible = false
step2.visible = false
step3.visible = true
div3.innerhtml = 帳號: & userid.text & <br>
div3.innerhtml &= 姓名: & name.text & <br>
div3.innerhtml &= 電話: & tel.text & <br>
div3.innerhtml &= 地址: & addr.text & <p>
end sub
sub button3_click(sender as object, e as eventargs)
dim connstr, sqlquery as string
connstr = driver={sql server}; server=localhost; uid=sa; pwd=; database=mytest
sqlquery = update tb_user set vcname = ' & name.text & ', vctel = ' & tel.text & ', vcaddr = ' & addr.text & '
dim cmd as adocommand = new adocommand(sqlquery, connstr)
cmd.activeconnection.open()
cmd.execute()
if cmd.recordsaffected = 1 then
div4.innerhtml = 你的個人資料已經被正確修改!<a href=panelsc.aspx>按此返回登錄</a>
else
div4.innerhtml = 發生錯誤!<a href=javascript:history.back(-1)>按此返回重新修改</a>
end if
end sub
</script>