<!--我的第一個(gè)ASP+程序--> <!--如有轉(zhuǎn)載,請注明出處! 作者:大自然 主頁:http://zhanzhen.wayall.com 歡迎來信zhanmr@telekbird.com.cn指教--> <!--作者瞎寫:這么一段程序可是花了我N長時(shí)間啊。。唉。。主要是對ADO+了解不太深,一開始為了節(jié)省系統(tǒng)資源,所以用了DataReader,后來發(fā)現(xiàn)原來功能這差的,就改用DataSet,唉。。用慣了原來的ADO模式,一下子真是不適應(yīng):(,還有那個(gè)VS7,雖然寫起ASP+來還算方便,不過好像很容易崩潰,不過有點(diǎn)好就是崩掉后會馬上重新啟動程序。:)--> <!--程序功能:利用ASP+中的Panel這個(gè)WEB CONTROL來實(shí)現(xiàn)三個(gè)窗口的切換,從而使我們原告在ASP里要用三張頁面實(shí)現(xiàn)的功能(如果硬湊在一張也是可以的,不過不要太復(fù)雜哦)現(xiàn)在只要一張頁面就能完事了。然后用ADO+的DataSet和DataTable控件來完成對數(shù)據(jù)庫的操作--> <!-- 前期工作:在SQL SERVER里建立一個(gè)mytest數(shù)據(jù)庫,然后把這段放到Sql Query Analyzer里運(yùn)行一下 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 然后你可以插入幾條測試數(shù)據(jù)就行了,我也是ASP+的新手,希望能互相學(xué)習(xí),一起提高:) -->
<%@ 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>修改個(gè)人基本信息</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>
<!--確認(rèn)窗口--> <asp:panel id="Step3" runat="Server"> 步驟三: (請確認(rèn)您輸入的數(shù)據(jù))<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 = "你的個(gè)人資料已經(jīng)被正確修改!<a href=""PanelSC.aspx"">按此返回登錄</a>" Else div4.innerHtml = "發(fā)生錯(cuò)誤!<a href=""javascript:history.back(-1)"">按此返回重新修改</a>" End If End Sub </scrip
|