时间: 2021-08-13 作者:daque
创造web名目和树立数据库贯穿 在备案了 imageloader 动静链接库之后,咱们就不妨创造web名目了。咱们运用微软visual interdev 1.0 创造asp页面以及到微sql server数据库的数据贯穿。 开始,翻开微软visual interdev。在文献file 菜单里,采用兴建(new)菜单项。在展示的对话框里,选中web名目引导,在名目称呼字段里输出imageload 。单击决定(ok),实行反面两步,中断引导。 不妨看到, visual interdev 在处事空间(workspace)窗口里机动地天生了一个文献,叫作global.asa。在用户第一次察看web步调里的页面里,就会机动天生这个文献。要贯穿sql server里的数据库,采用名目 | 介入名目(project |add to project),而后采用数据贯穿(data connection)。这边,采用数据源对话框展示,咱们必需设置一个数据源称呼(dsn)。 单击兴建(new)按钮,在列出的可用数据启动步调列内外,采用sql server,而后单击下一步(next)。接着,在输出框里输出 grocevb 动作dsn。接下来的几步很简单实行,不复胪陈。 底下,展示了sql server 登录对话框。输出效劳器称呼,登录id和口令,并单击选项(option)按钮。从列出的可用数据库列内外,采用grocevb,单击决定(ok)。在中断了十足之上办法之后,就归来到了采用数据源对话框。在这边,从dsn列内外单击文献名 grocevb.dsn,而后实行反面几步中断这段操纵。 此刻,不妨双击global.asa,察看之上办法在这个文献里天生的代码。代码设置了贯穿sql server数据库所必定的少许变量。 为了初始化类 clsimageloader ,必需在global.asp的发端放两行代码。咱们在列表 c里列出了global.asa里的代码。提防clsimageloader 是一个对话范畴内的东西。 列表 c: global.asa <object runat=server scope=session id=objimageloader progid="imageloader.clsimageloader"> </object> <script language=vbscript runat=server> sub session_onstart session("grocevb_connectionstring") = "driver=sql server; server=(local); uid=sa;pwd=;app=microsoft (r) developer studio;wsid=jia; database=grocevb;useprocforprepare=0" session("grocevb_connectiontimeout") = 15 session("grocevb_commandtimeout") = 30 session("grocevb_runtimeusername") = "sa" session("grocevb_runtimepassword") = "" end sub sub session_onend set objimageloader = nothing end sub </script> 创造asp页面 为了贯穿到数据库,并和imageloader这个动静链接库通讯,咱们在web名目里创造了一个asp文献。本领是在文献(file)菜单里采用兴建(new)菜单项,在文献(files)标签卡中采用asp页面图标,在输出框里输出文献称呼。咱们把这个页面定名为default.asp。在efault.asp 里包括的代码如列表 d所示。 列表 d: default.asp <% set dbconn = server.createobject("adodb.connection") dbconn.connectiontimeout = session("grocevb_connectiontimeout") dbconn.commandtimeout = session("grocevb_commandtimeout") dbconn.open session("grocevb_connectionstring"), session("grocevb_runtimeusername"), _ session("grocevb_runtimepassword") set cmdtemp = server.createobject("adodb.command") set rstproduct = server.createobject("adodb.recordset") cmdtemp.commandtext = "select prod_id, prod_name, prod_desc, prod_unitprice, & _ " prod_unitquant, prod_imagetype " & _ "from products order by prod_name" cmdtemp.commandtype = 1 set cmdtemp.activeconnection = dbconn rstproduct.open cmdtemp, , 0, 1 objimageloader.dbname = "grocevb" objimageloader.tablename = "products" objimageloader.nameofimagecolumn = "prod_image" objimageloader.nameofimagetypecolumn = "prod_imagetype" objimageloader.nameofimageidcolumn = "prod_id" objimageloader.openconnection %> <html> <head> <title>从sql server承载图片的示例</title> </head> <body bgcolor="#ffffff" topmargin=8 leftmargin=4> <%do while not rstproduct.eof %> <%prodid = rstproduct("prod_id") %> <% objimageloader.createtempimagefile(prodid) %> <% filename = "images/" & objimageloader.imagefile(prodid) %> <table border=1 cellpadding=0 cellspacing=0 width=100%> <table border=0 cellpadding=5 cellspacing=0 width=100% cols=2> <td width=30%> <img align=bottom src= <% =filename %>> <p> </p> <font size=2>image type: <% = rstproduct("prod_imagetype") %> </td> <td width=70%> <p align=center><font size=4><% =rstproduct("prod_name") %></font></p> <p align=center><% =rstproduct("prod_desc") %></p> </td> </table> <p> </p> <table border=0 cellpadding=5, cellspacing=0 width=100% cols=2> <td width=50%> <p align=left>unit quantity: <% = rstproduct("prod_unitquant") %></p> </td> <td width=50%> <p align=left>unit price: <% =rstproduct("prod_unitprice") %></p> </td> </table> </table> <p> </p> <% rstproduct.movenext %> <% loop %> </body> </html> 提防:类imageloader 里设置的createtempimagefile 本领和imagefile 属性(只读)须要图片id动作参数。在这个例子里,图片id即是表products的主要害字(prod_id) 。以是, prod_id 的值必需传播给动静链接库。 归纳 在这篇作品里,咱们演练了一个本领,运用activex动静链接库和asp,不妨从微软sql server效劳器把图片承载到web欣赏器。它仍旧表白,这个本领在赶快开拓、简单运用和自设置web页面包车型的士精巧上都有上风。动静链接库被用来贯穿数据库,索取图片数据,把图片数据放入文献。asp页面则控制与sql数据库和动静链接库通讯。咱们仍旧引见了树立sql数据库和web项手段操纵进程。 固然这篇作品里的动静链接库和数据库的功效做了简化,但这边引见的办法对于其它任何宏大搀杂的web名目都是灵验的。