ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 用sql server为web浏览器提供图像(转)

用sql server为web浏览器提供图像(转)

原创 Linux操作系统 作者:jcszjswkzhou 时间:2019-07-03 20:45:06 0 删除 编辑
建立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








建立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
%>



从sql server装载图片的示例


<%do while not rstproduct.eof %>
<%prodid = rstproduct("prod_id") %>
<% objimageloader.createtempimagefile(prodid) %>
<% filename = "images/" & objimageloader.imagefile(prodid) %>






>


image type: <% = rstproduct("prod_imagetype") %>

<% =rstproduct("prod_name") %>


<% =rstproduct("prod_desc") %>








unit quantity: <% = rstproduct("prod_unitquant") %>



unit price: <% =rstproduct("prod_unitprice") %>





<% rstproduct.movenext %>
<% loop %>




注意:类imageloader 里定义的createtempimagefile 方法和imagefile 属性(只读)需要图片id作为参数。在这个例子里,图片id就是表products的主关键字(prod_id) 。所以, prod_id 的值必须传递给动态链接库。


总结

在这篇文章里,我们演示了一个方法,使用activex动态链接库和asp,可以从微软sql server服务器把图片装载到web浏览器。它已经表明,这个方法在快速开发、容易使用和自定义web页面的灵活上都有优势。动态链接库被用来连接数据库,提取图片数据,把图片数据放入文件。asp页面则负责与sql数据库和动态链接库通信。我们已经介绍了设置sql数据库和web项目的操作过程。

虽然这篇文章里的动态链接库和数据库的功能做了简化,但这里介绍的步骤对于其它任何强大复杂的web项目都是有效的。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10294527/viewspace-122629/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2007-08-29

  • 博文量
    3488
  • 访问量
    2621279