- 打印本文 关闭窗口
- 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] ... 下一页 >>
- 打印本文 关闭窗口