一旦所有的输入都经过了验证,我们被导向cookie.aspx,通过该页将数据插如数据库,同时将用户登录。在signup.aspx中,一旦数据得到验证,我们将所有的表格值存入会话变量中,然后进行重定向:
< script language="VB" runat="server">
Sub Page_Load(Source As Object, E As EventArgs)
If Page.IsPostBack And Page.IsValid Then
'Create the Session Variables froim the Form Fields
Session("strFName") = Request.Form("txtFirstName")
Session("strLName") = Request.Form("txtLastName")
Session("strAddress") = Request.Form("txtAddress")
Session("strCity") = Request.Form("txtCity")
Session("strState") = Request.Form("txtState")
Session("strZipcode") = Request.Form("txtZipcode")
Session("strEmail") = Request.Form("txtEmail")
Session("strPhone") = Request.Form("txtPhone")
Session("strUserName") = Request.Form("txtUserName")
Session("strPassword") = Request.Form("txtPassword")
Response.Redirect("cookie.aspx")
End If
.. . .
End Sub
< /script>
在cookie.aspx中,我们以会话变量的值做输入来创建一个ANSI-SQL语句。为了向数据库中添加值,我们利用ADOCommand对象。我们将SQL语句及ADOConnection对象传递给ADOCommand。设置了ADOCommand后,我们打开连接,调用ADOCommand.Execute:
< script language="VB" runat="server">
Sub Page_Load(Source As Object, E As EventArgs)
Dim cnCon As New ADOConnection
Dim dcAdd As ADOCommand
Dim strSQL As String
strSQL = "INSERT INTO Students " & _
"(FirstName, LastName, Address, City, State, " & _
"Zipcode, Phone, Email, UserName, [Password] ) " & _
"VALUES (" & _
"'" & Session("strFName") & "', " & _
"'" & Session("strLName") & "', " & _
"'" & Session("strAddress") & "', " & _
"'" & Session("strCity") & "', " & _
"'" & Session("strState") & "', " & _
"'" & Session("strZipcode") & "', " & _
"'" & Session("strPhone") & "', " & _
"'" & Session("strEmail") & "', " & _
"'" & Session("strUserName") & "', " & _
"'" & Session("strPassword") & "'" & _
")"
cnCon = Connect.ConnectToDB()
dcAdd = New ADOCommand(strSQL, cnCon)
cnCon.Open()
dcAdd.Execute()
End Sub
< /script>
新的数据已经添加进了数据库,我们的新生也登录进来了。当学生报名参加一门课程时,类似的功能被用来向报名表插入Student_ID和Session_ID。
===总结===
尽管这只是对我们将一个小型ASP站点迁移至ASP+站点要面临的一些挑战的简要的概括,我们仍然涉及了一些主要的问题。其他一些要做的修改是很小的。当然,我们还没有利用ASP+的大部分的新特性,像web服务,处理外的会话状态,以及新的认证结构,然而我们已经有了一个良好的开端。现在我们的站点正运行于.NET框架上,也运用了ASP+的某些新特性,比如基于作出请求的浏览器而渲染的HTML/DHTML,提供不同验证技巧的新服务器控件,还有能使我们在无须创建额外对象的情况下一次取回多个表的ADO+ DataSets。
附一:
1.原文出处:http://www.asptoday.com/articles/20000914.htm
2.原文作者:Doug Seven