打印本文 打印本文  关闭窗口 关闭窗口
ASP与SQL网站数据库程序设计(16)
作者:.. 文章来源:科学出版社 点击数: 更新时间:2004/1/25 1:09:56
59:      <td class="tsize" width="60">传  真</td>

60:      <td class="tsize" width="300"><input type= "text" name="Fax" Value="<% = Fax %>" Size="20" Maxlength="20"></td>

61: </tr>

62: <tr align="left" bgcolor="CornflowerBlue">

63:      <td class="tsize">邮件服务器</td>

64:      <td class="tsize" width="300"><input type= "text" name="MailServer" Value="<%= MailServer %>" Size="40"></td>

65: </tr>

66: <tr align="left" bgcolor="CornflowerBlue">

67:      <td class="tsize">服务信箱</td>

68:      <td class="tsize"><input type=text Name= 'AdminEmail' Value='<% = AdminEmail %>' size='40'></td>

69: </tr>

70: <tr align="left" bgcolor="CornflowerBlue">

71:      <td class="tsize">管理员信箱</td>

72:      <td class="tsize" width="300"><input type= "text" name="MailOut" Value="<%= MailOut %>" Size="40"></td>

73: </tr>

74: <tr align="left" bgcolor="CornflowerBlue">

75:      <td class="tsize" width="60">全图预览</td>

76:      <td class="tsize" width="300" class="tsize">

77:      <%  if FullViewMethod = 0 then %>

78:      <input type="Radio" Name="FullViewMethod" Value=0 checked>JPG 图文件

79:      <input type="Radio" Name="FullViewMethod" Value=1>PDF 文件

80:      <% else %>

81:      <input type="Radio" Name="FullViewMethod" Value=0>JPG 图文件

82:      <input type="Radio" Name="FullViewMethod" Value=1 checked>PDF 文件

83:      <% end if %>

84:      </td>

85: </tr>

86: <tr align="left" bgcolor="CornflowerBlue">

87:      <td class="tsize">商标文件名</td>

88:      <td class="tsize" width="300"><input type= "text" name="SystemLogo" Value="<%= SystemLogo %>" Size="40"></td>

89: </tr>

90: <tr align="center" bgcolor=Sienna>

91:      <td colspan="2"><Input Type="Submit" Name= "Submit" Value="修改确认"> <Input Type="Reset" Name="Reset" Value="重新修改"></td>

92: </tr>

93: </table>

94: </form>

95: </BODY>

96: <% end Function %>

程序说明

本段程序代码主要功能在于提供了数据的输入环境,同时使用的也是HTML。例如:在提供邮件服务器的名称输入字段中,直接指定值为“MailServer”变量的内容,程序代码如下所示:

<input type="text" name="MailServer" Value="<%= MailServer %>" Size="40">

在本段程序的其他部分中,由于采用的皆为此种类型的设置方法;同时使用的也是HTML语言。因此,笔者在此不多做说明。

SystemInfo.asp 程序段

98: <%

99: Function WriteDatas

100:     SQL = "Update 系统信息 set 邮件转发='" & trim (request.form("MailOut"))& "',"

101:     SQL = SQL & "公司名称='" & trim (request.form("CompanyName")) & "',"

102:     SQL = SQL & "全图预览方式=" & trim (request.form("FullViewMethod")) & ","

103:     SQL = SQL & "邮件服务器='" & trim (request.form("MailServer")) & "'"

104:     On Error Resume Next

105:     Set Rs = OBJConn.Execute(SQL)

106:

107:     SQL = "Update 系统信息 set "

108:     SQL = SQL & "管理员信箱='" & request.form("AdminEmail") & "',"

109:     SQL = SQL & "公司地址='" & request.form ("CompanyAddress") & "' ,"

110:     SQL = SQL & "电话='" & request.form("Telephone") & "',"

111:     SQL = SQL & "传真='" & request.form("Fax") & "',"

112:     SQL = SQL & "商标文件名='" & request.form("SystemLogo") & "'"

113:     Set Rs = OBJConn.Execute(SQL)

114:     call showinfo("更改已确认!\n系统基本信息已经更改完成!",1)

115: end Function

116: %>

程序说明

本段程序代码的功能在于将数据写回表中。同时,本段“Update Query”程序代码分为两段的主要原因在于适应SQL Query 的限制。事实上,SQL Query 的总长度是有限制的。对于 SQL Server 而言,其所能接收的SQL Query长度,最长是 256 个字符(含 SQL 命令、表达式等在内)。为了避免 SQL Query 过长所产生的错误,因此将即将更新的字符串分为两个部分,各自独立更新相关的字段内容。

100~103行:设置在进行更新“邮件转发”、“公司名称”、“全图预览方式”以及“邮件服务器”等字段内容时,“UpdateSQL Query 语句的执行内容。

107~112行:设置在进行更新“管理员信箱”、“公司地址”、“电话”、“传真”以及“商标文件名”等字段内容时,“UpdateSQL Query 语句的执行内容。

在此,有两个字段的内容比较容易混淆,这两个字段的名称是“邮件转发”以及“管理员信箱”,以下是这两个字段的说明:

“管理员信箱”:当用户提出索取详细数据的需求时,这些需求的内容是由哪一个E-Mail信箱送出的。事实上,这个字段所扮演的是“邮件寄件人”的角色。

“邮件转发”:当用户提出索取详细数据的需求时,这些需求的内容必须送到哪一个E-Mail信箱中。事实上,这个字段所扮演的是“邮件收件人”的角色。

至于,为什么要有两个信箱呢,一个信箱无法达成吗?就实际而言,一个信箱其实是足够的,但是笔者考虑到负责处理用户需求的操作人员可能不是系统管理员,因此将收/发信箱分为两个。

15-4  密码更改

通常一个新建的系统,其登录的帐号与密码都是由供货商预设的。如果是一个公开销售的版本,其帐号及密码则是通用的。为了进一步保护用户系统数据的安全性,请用户利用这个功能更改帐号与密码。这个子系统将会用到“系统信息”表。以下是这个子系统的执行结果、程序段以及程序说明。

 

ChgPasswd.asp 程序段

10: <%

11:

12: SQL = "Select * from 系统信息"

13: On Error Resume Next

14: Set Rs = OBJConn.Execute(SQL)

15:

16: UserAccount = rs.fields("帐号")

17: UserPasswd = Rs.fields("密码")

18:

19: if request.form("Submit") = "修改确认" then

20: if trim(request.form("SourcePasswd")) <> trim(User Passwd) then

21:      call showinfo("原始密码错误!\n请重新输入!",1)

22: else

23:      if trim(request.form("UserPasswd")) = trim(re quest.form("UserPasswd1")) then

24:          WriteDatas

25:          call showinfo("更改确认!\n下次登录请使用新的帐号以及密码!",1)

26:   &

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ...  下一页 >> 



打印本文 打印本文  关闭窗口 关闭窗口