<!–我的第一个asp+程序–>
<!–如有转载,请注明出处! 作者:大自然 主页:http://zhanzhen.wayall.com 欢迎来信zhanmr@telekbird.com.cn指教–>
<!–作者瞎写:这么一段程序可是花了我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>
