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

92:  <td><input type='text' name='price' value='' size='10'> </td>

93:  </tr>

94:  <tr>

95:  <td class='ChiDingSt02' bgcolor="tan">交货期</td>

96:  <td colspan="3"><Input type='text' Name='Delivery' Value='' size='20'></td>

97:  </tr>

98:  <td class='ChiDingSt02' bgcolor="tan">备注</td>

99:  <td colspan="3"><Input type='text' Name='Memo' Value='' size='60'></td>

100:     </tr>

101:     <tr>

102:     <td colspan='4' align='center'><P>

103:     <input type='submit' name='submit' value='确定送出'> 

104:     <input type='reset' name='reset' value='重新填写'>

105:     </td>

106:     </tr>

107: </form>

程序说明

38~52行:分别取出“产品类别”、“币别信息”的所有记录。并且将有关“产品类别”的相关信息,存放在“Datas”的数组变量中;同时将有关“币别信息”的相关信息,存放在“Datas1”的数组变量中。

66~68行:使用“For…Next”循环,将有关“产品类别”的Datas数组变量中所有的元素以下拉式清单的方式,供管理员选择类别用。

84~87行:使用“For…Next”循环,将有关“币别信息”的Datas1数组变量中所有的元素以下拉列表的方式,供管理员选择货币的类别用。

ProductCreate.asp 程序段

112: <%

113: ' 产品大项分类新增

114: Function CreateProducts

115:     type1 = request.form("Classify")

116:     type2 = mid(request.form("productno"),3,2)

117:

118:     Set OBJConn = Server.CreateObject("ADODB.Connection")

119:     OBJConn.Open "Trade", "test", "test1"

120:

121:     SQL = "Select 产品代号 From 产品基本信息 Where 产品代号 = '" & Trim(request.form("Classify")) & Trim(request.form("product-no")) & "'"

122:     Set Rs = OBJConn.Execute(SQL)

123:     if rs.eof then

124:         sql = "insert into 产品基本信息(类别编号,产品代号,产品名称,产品简述,单价,新上市) values("

125:         sql = sql & "'"& trim(request.form("Classify")) & "',"

126:         sql = sql & "'" & trim(request.form("Classi-fy")) & trim(request.form("productno")) & "',"

127:         sql = sql & "'" & trim(request.form("product-name")) & "',"

128:         sql = sql & "'" & trim(request.form("speci-fy")) & "',"

129:         sql = sql & trim(request.form("price"))

130:         if request.form("NewArrival") = "on" then

131:             sql = sql & ",1"

132:         else

133:             sql = sql & ",0"

134:         end if

135:         sql = sql & ")"

136:         Set Rs = OBJConn.Execute(SQL)

137:         sql = "update 产品基本信息 set "

138:         sql = sql & "币别='" & request.form("currency") & "',"

139:         sql = sql & "交货期='" & request.form("Deli-very") & "',"

140:         sql = sql & "备注='" & request.form("memo") & "'"

141:         sql = sql & " where 产品代号='" & trim(re-quest.form("Classify")) & _

142:              trim(request.form("productno")) & "'"

143:         Set Rs = OBJConn.Execute(SQL)

144:         call showinfo("产品信息新增完毕!","/Product-Create.asp",1)

145:     else

146:         call showinfo("产品已经存在于数据库之中,不允许新增!","/ProductCreate.asp?methods=refresh",0)

147:     end if

148:

149:

150: OBJConn.Close

151: End Function

152: %>

程序说明

这段程序代码的目的非常明确,其实只是将管理员输入的产品基本信息写入到“产品基本信息”表中。但是,在写入表之前,将会由第121行的程序代码先行检查表中是否已经存在相同的产品名称,接着才会执行相关的程序。

另外请读者注意的是,“产品基本信息”表中的“产品代号”是以“类别编号”为基础。

15-8  产品下架

产品下架就是将表中的记录删除。但是,如果在产品数量非常多的情况下,一次将所有的记录全部从表中取出并且显示时,就有些困难了。不过,既然在新增产品的过程中,已经对产品进行了分类,那么何不以“产品类别”做为第一步的筛选动作呢?因此,也就产生了以下的执行过程。以下是它的执行结果、程序段及程序说明:管理员必须先行选择产品的类别。有关这个操作步骤的程序段内容以及说明如下所示:

01: <%

02: Response.Expires = 0

03: ClassifyNo = request.querystring("ClassifyNo")

04: Set OBJConn = Server.CreateObject("ADODB.Connection")

05: OBJConn.Open "Trade", "test", "test1"

06:

07: MaxRecords = 1000

08: SQL = "Select * from 产品类别 order by 类别编号"

09: Set Rs = OBJConn.Execute(SQL)

10: Datas1 = rs.getrows(maxrecords)

11:

12: if request.form("Submit") = "删除确认" then

13: DeleteProducts

14: end if

15: %>

 

47: <Form Name="ChgClassify" Method="Post">

48: <table Border=1 border=0 cellpadding=1 cellspacing=1 bgcolor="tan">

49: <tr><td>

50: <select Name="Classify" OnChange="selChange(document.ChgClassify.Classify)">

51: <Option Value="0">请选择分类</option>

52: <% For i = 0 to ubound(Datas1,2) %>

53: <option value="<%=Datas1(0,I)%>">

54: <% = Datas1(0,i) %>--<% = Datas1(1,i) %></option>

55: <% Next %>

56: </select>

57: 分类选择之前,产品信息将无法出现!

58: </td></tr>

59: </table>

60: <%

61: for i = 0 to ubound(datas1,2)

62:      if trim(datas1(0,i)) = trim(ClassifyNo) then

63: '           response.write ClassifyNo & "  " & datas1(0,i)

64:          ProductsShow

65:          exit for

66:      end if

67: next

68: %>

69: </Form>

程序说明

8~10

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



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