最近公司为了充分利用图书资源,方便员工查询,决定在公司内部网上建立一个图书查询系统。考虑到公司图书不多,只有1千多册,且专业书居多的特点,我决定做两个查询条件:一个是根据图书类别来查询, 用户只要选择相应的类别就可以显示出该类别的所有图书,这主要是面对对公司图书不熟悉的人;第二个是根据图书名称来查询,用户只要输入图书名,就可以快速的搜索到符合条件的所有图书。 方案已定,接下来就是用什么软件做及如何做的问题了。在这里,我选用了网页的形式,这样同事们只要打开浏览器,输入相应的地址就可以查询了。因此,我使用网页制作利器 dreamweaver 软件(下面简称dw),数据库用acess,环境为win98,pws下面就正式开工锣。 点击这里下载本教程的源代码 首先,建立数据库: 一、在我的文档下面新建一个文件夹,起名为“研究所”。当然你也可以在其他地方新建,起其他名字。 二、打开acess,新建一数据库db1,建立两张表 leibie 和 tushu ,表与表之间的联系字段为“类别名称”。 表leibie结构为两个字段: (1)类别号,文本类型,字段长度为6位,必填字段,不允许输入空白字符串; (2)类别名称,文本类型,字段长度为20位,必填字段,不允许输入空白字符串。 表tushu结构为九个字段: (1)编号,文本类型,字段长度为6位; (2)书名,文本类型,字段长度为60位,必填字段,不允许输入空白字符串。 (3)作者,文本类型,字段长度为50位; (4)出版者,文本类型,字段长度为60位; (5)版次,文本类型,字段长度为15位; (6)单价,货币类型,允许小数位数2位,默认值为0元; (7)类别名称,文本类型,字段长度为20位,必填字段,不允许输入空白字符串。 (8)是否借出,文本类型,字段长度为4位,必填字段,不允许输入空白字符串,默认值为 No 。 (9)备注,备注类型。 三、根据表结构输入各项数据。 其次,设置站点及连接数据库: (1)设置站点。打开dw ,选择 site 菜单下的 new site ,弹出设置站点面板,站点名输入研究所,目录就是我们刚才建立的目录,如图1,Testing Server选项中的Server Model选择Asp VBScript,Access选择Local/Network。(2)新建一网页,因为查询是动态页面,因此在弹出的面板中选择Dynamic page和Asp VBScript,如图2。按create按钮回到页面。图2 (3)连接数据库。展开右边的Application 面板,选择Databases标签,按"+"按钮,选择Data Source Name (DSN),如图3。图3 (4)在弹出的Data Source Name (DSN)面板上(如图4)选择define...按钮进入ODBC数据源管理器,选择系统DSN标签,点击添加按钮,选择"Driver do Microsoft Access(*.mdb)"数据驱动程序,点击完成按钮。图4 (5)在随后的面板上选择数据库路径(就是我们刚才建立的目录),选中db1,数据源名输入db1,如图5。 (6)单击确定按钮,返回ODBC数据源管理器面板。再单击确定按钮,返回Data Source Name (DSN)面板。点击test按钮,如果弹出如图6的成功面板,就表明一切ok,数据库已经连接好了,右边Application面板的Databases标签就会相应的出现我们新建的数据源db1。图6 现在准备工作一切就绪,可以建立动态查询网页了。 一、建立主页。主页很简单,就是建立两个查询链接,“按图书类别查询”链接到,“按图书名称查询”链接到,这两个网页就是我们下面要建立的查询网页。主页因不需要动态编程,可存为htm格式,文件保存到研究所目录下,取名为index,具体如图7。图7 二、建立按图书类别查询网页。 1、新建一动态网页,取名。 2、建立记录集。选择右边的Application面板中的Bindings标签,按加号按钮,选择Recordset(Query),如图8,弹出Recordset对话框,里面的设置如图9,Name就取默认值 Recordset1,Connection选择我们刚刚建立的连接db1,因为显示的是图书类别,因此Table选择表leibie。图8图93、设置完毕后,点击test按钮,大家可以看到leibie表的内容全显示出来了。点击OK回到页面,这时我们可以看到Binding标签下方显示出我们刚刚建立的名为Recordset1的查询。 4、输入网页上静态显示的内容,如图10,其中“返回”链接到主页 。图10 5、点击Binding标签下方Recordset1旁边的"+"号,展开字段,用鼠标按住“类别名称”字段不放,直接拖到页面上的单元格中,松开鼠标, 这样单元格就包含了一个动态文本,页面效果如图11。图11 只是现在这个单元格还只能显示一行(大家可以先在浏览器里看一看是不是这样的显示效果),那么如何才能将所有的字段内容显示出来呢? 6、选中表格,再选择右边的Application面板中的Server Behaviors标签,按加号按钮,选择Repeat Region(循环区域),这样就可以控制一页显示多少记录了。在这里,因为图书类别不多,因此在对话框中选择All Records(显示所有记录),不分页显示了,具体如图12。图12 7、运行pws,设置好路径,用浏览器打开此网页,看看屏幕上是不是将数据库里的类别名称都显示出来了,只是现在还不能点击进去。好,下面我们就来做相应的显示图书的页面。 三、制作按类别查询显示的页面 1、新建一动态网页,取名。 2、建立记录集。选择Application面板中的Bindings标签,按加号按钮,选择Recordset(Query),弹出Recordset对话框,里面的设置如图1 3,名字为Recordset2,数据库表选择tushu,因为网页显示的图书信息是根据前面查询条件来显示的,因此就需要设置一个限制条件来选择符合条件的图书,那么这个条件是通过什么来实现传递和接受的呢?这就需要用到URL Parameter(URL参数)了,利用这个参数可以从查询网页传递查询条件,然后在显示网页中接受这个参数来显示符合的记录。具体使用方法如下:图13 (1)先让我们回到查询页。用鼠标选中表格中的字段,再选择Application面板上Server Behaviors标签,按加号按钮,选择Go To Detail Page(到细节页),弹出Go To Detail Page对话框,具体设置如图14。Detail Page就是我们的显示网页,Pass URL Parameter文本框里输入的就是要通过URL传递到细节页中的参数名,为便于理解,我们输入“类别名称”,这个名字可要和后面显示网页里设置的参数名一样。Recordset意为从哪个记录集里传递出去的,我们选择Recorset1,Column意思为URL参数值的来源,要与查询网页上的查询条件一致,因此选择“类别名称”,Pass Existing Parameters这两个选项于表单有关,而在这个查询网页上并没有用到表单,因此可以不选。点击ok按钮,大家可以看到表格中的字段已变成一个包含动态内容的超文本连接了。图14 (2)好,URL Parameter已设置,现在再回到显示网页来接受这个参数。选择Recordset(Query),弹出Recordset对话框,在Filter中设置如上图13,意思是:查询条件为表tushu中的字段“类别名称”要等于传递过来的URL Parameter参数“类别名称”,这样查询网页和显示网页就联系起来了。 (3)点击test按钮来测试。大家可以输入某一个类别名称,dw 就会显示出相应的图书记录。 (4)点击ok按钮回到页面,至此记录集建立好了。 3、输入网页中的静态内容,如图15,其中“返回”链接到查询网页,因为有的类别图书比较多,因此将显示设为分页显示。图15 4、用上面介绍的方法,将记录集的字段分别拖到页面上相应的位置中,如图16。图16 5、选中表格中的第二行,点击Application面板中的Server Behaviors标签,按加号按钮,选择Repeat Region,弹出Repeat Region对话框,因为要分页显示,所以选择每次显示几条,在这里我输入的是10,意思为每页显示10条记录,大家可以根据情况自由输入,如图17。点击ok键回到页面。