本页面由 Flash 保存计划 从 Internet Archive 存档还原 · 快照 2006-07-08 · 原址 http://bbs.flash8.net/forums/1611697/ShowPost.aspx ← Flash 保存计划
欢迎光临 闪吧论坛 登录 | 注册 | FAQ | 搜索
Print Search
帖子排序:    
帖子发起人:coldstone   发起时间:2005-05-29 15:03 下午   回复:112
coldstone 离线,最后访问时间:2006-6-13 12:49:57 coldstone

等级:Flash MX


等级:博客管理员
头衔:河姆渡性感农民
注册:2001-11-11
发贴:3,936
积分:120
访问我的Blog
2005-05-29, 15:03 下午   IP 地址:已记录  报告  收藏  楼主
四:在Dreamweaver中建立数据库连接


  • 本教程讲述了如何在Dreamweaver中建立与Access数据库的连接。 在学习本教程前,您需要掌握以下内容:
    ① 创建支持ASP的服务器
    教程地址:
    dispbbs.asp?boardID=20&ID=240544
    ② 使用Access数据库
    教程地址:
    dispbbs.asp?boardID=20&ID=241948
    ③ 设置Dreamweaver站点
    教程地址:
    dispbbs.asp?boardID=20&ID=243575 打开Dreamweaver,建立一个ASP(VBScript)站点,把数据库放在网站目录下,这里我是把数据库%flash8=data%.mdb放在网站根目录下的^data#base^目录下。 打开“文件”面板,在站点上点击右键,在弹出的菜单中选择“新建文件”,会在站点目录中新建一个untitled.asp。 我们将文件名改为index.asp。双击打开index.asp(必须要打开站点下的一个文件才能进行创建数据库连接的操作)。 打开“应用程序”面板,在“数据库”面板中可以看到有4个步骤,只有前3个步骤完成了才能进行第4步“创建连接”的操作。在进行下面的操作前请确认前3个步骤的前面都打上了“ √ ”(必须)。 点击该面板上的“+”号,在弹出的菜单中选择“自定义连接字符串”。 在弹出的“自定义连接字符串”窗口中,连接名称填写自定义的名称(为了好的编程习惯,最好名称前加上conn前缀,表明这是一个连接字符串)。在连接字符串中填写:

    Driver={Microsoft Access Driver (*.mdb)};DBQ=你的数据库的绝对路径

    这里当然就是:
    Driver={Microsoft Access Driver (*.mdb)};DBQ=F:\Program\flash8asp\^data#base^\%flash8=data%.mdb
    (一定注意Driver和(*.mdb)之间有个空格,不要写错了)
    “Dreamweaver应连接”选择“使用此计算机上的驱动程序”。 填写完毕后,点击右边的“测试”按钮,如果操作没有问题的话就会弹出“成功创建连接脚本”的提示窗口。点击“确定”完成连接的创建。 此时回到“应用程序”面板中的“数据库”,可以看到我们创建的数据库连接已经生效,可以在这里查看数据库的结构和相关信息。 在数据表上单击右键,选择“查看数据”,可以查看到该数据表中的详细内容。

    在“文件”面板中,我们可以看到DW自动生成了一个Connections的文件夹,其中包含了一个以我们刚才自定的连接名称命名的asp文件,这个就是保存连接字符串的地方。 因为我们在连接中使用了数据库绝对路径,而当我们把程序上传到服务器后,服务器上数据库的绝对路径可能和本地路径不一样,程序会出错。为了避免这种情况,我们要在程序中使用相对路径。双击打开连接文件,切换到源代码视图,找到如下的一行: 在这一行前加一个单引号“'”把这行注释掉,然后在另一行输入如下代码:

    MM_conntest_String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.Mappath("/^data#base^/%flash8=data%.mdb")

    其中的conntest和数据库地址根据自己的实际情况进行修改。 很多人也许会奇怪,为什么我们不在创建连接时就使用相对路径呢?其实这是有原因的。在Dreamweaver中,检测连接文件时是会连注释一起解释的,在Dreamweaver中做程序时就会使用第一个出现的连接字符串;而在服务器中IIS解释文件时会忽略掉注释,会使用第二个连接字符串。呵呵,明白了吧,这样我们就实现了在Dreamweaver中做程序时使用绝对路径,在服务器上浏览时使用相对路径定位数据库而不用修改代码的目的。 另外,在Server.Mappath("/^data#base^/%flash8=data%.mdb")这段代码中,/放在最前面是指从网站的根目录开始。如果你的网站不在服务器的网站根目录下,则要去掉/,而改以文件的相对位置。比如对于本例的index.asp文件来说,可以使用^data#base^/%flash8=data%.mdb就能定位到数据库了。如果是在上一级目录,则要使用“../”。 好了,数据库连接创建完毕了。
    我们来测试一下吧。打开index.asp文件,在“应用程序”面板上选择“绑定”面板,点击“+”选择“记录集(查询)”来创建一个记录集。 在弹出的窗口中填写记录集的名称(同样为了良好的习惯建议在记录前面加上前缀rs),选择建立的数据库连接,再选择相应的数据表。其中的一些其它选项我以后会详细讲解,这里按图中的选择就行了。 选择好了之后,点击右边的“测试”按钮,可以看到我们建立的记录集中包含的所有数据。表示我们建立记录集成功。 “确定”后可以看到在“绑定”面板中看到我们建立的记录集包含的相应字段。在程序中我们只需要将字段拖到页面上就可以插入记录集的数据到页面上了。 这里提一点:记录集是数据库反映在ASP程序中的方式。我们可以通过不同的SQL语句从数据库的一个表或者多个表中查询我们需要的数据组成一个记录集,以满足我们查询数据库中各种数据并应用在ASP程序中的要求。可以说,我们程序中所有查询数据库数据的操作(非更新、删除),都是可以通过记录集来实现的。 PS:本来建立数据库连接是比较简单的内容,本想放在和“建立站点”一起发的,但是后来写出来发现内容还是比较多,又涉及到一些基础,所以还是单独放出来作为一帖。和计划有少许出入。
    [此贴子已经被作者于2005-5-30 10:15:32编辑过]
    附件:
    序号 附件名称 类型 文件大小 上传时间 下载次数
    1 2005-5/2005529145516195.gif 网络图片 30Kb 2005-05-29 59
    2 2005-5/2005529145714873.gif 网络图片 27Kb 2005-05-29 32
    3 2005-5/200552914442146.gif 网络图片 30Kb 2005-05-29 30
    4 2005-5/2005529145612393.gif 网络图片 51Kb 2005-05-29 37
    5 2005-5/2005529145543948.gif 网络图片 26Kb 2005-05-29 29
    6 2005-5/2005529145453735.gif 网络图片 26Kb 2005-05-29 26
    7 2005-5/2005529145035411.gif 网络图片 24Kb 2005-05-29 27
    8 2005-5/2005529145248577.gif 网络图片 42Kb 2005-05-29 34
    9 2005-5/200552914534558.gif 网络图片 34Kb 2005-05-29 28
    10 2005-5/20055291450671.gif 网络图片 27Kb 2005-05-29 24
    11 2005-5/2005529145425783.gif 网络图片 36Kb 2005-05-29 21
    12 2005-5/2005529145322600.gif 网络图片 30Kb 2005-05-29 19
    13 2005-5/2005529145643194.gif 网络图片 32Kb 2005-05-29 28
    14 2005-5/2005529145356377.gif 网络图片 31Kb 2005-05-29 19
    15 2005-5/20055291451208.gif 网络图片 25Kb 2005-05-29 22
    16 2005-5/200552914522298.gif 网络图片 39Kb 2005-05-29 25

    其实。。我是一个演员。。
    清水游鲨 离线,最后访问时间:2006-5-20 19:40:12 清水游鲨

    等级:Flash 2

    等级:FLASH 2
    注册:2004-04-12
    发贴:429
    积分:3
    2005-05-29, 19:23 下午   IP 地址:已记录  报告  收藏  第2楼

  • 我按照你说的做了,怎么出现一个不知名的错误呢? 这是我的连接字符串
    Driver = {Microsoft Access Driver (*.mdb)};DBQ=E:\website\dates\gest.mdb

    附件:
    序号 附件名称 类型 文件大小 上传时间 下载次数
    1 2005-5/2005529192232998.jpg 网络图片 40Kb 2005-05-29 39

    学啊.很多都不懂呢.
    lhy139511 离线,最后访问时间:2006-5-18 19:16:22 lhy139511

    等级:Flash1

    等级:FLASH1
    注册:2005-01-14
    发贴:4
    积分:0
    2005-05-29, 20:50 下午   IP 地址:已记录  报告  收藏  第3楼

  • 教程多看几遍 或者到这看看也是连接数据库的教程http://www.udsky.com/mxsky2004/advance/begin_guestbook/01.asp 期待下面的教程啊 老大快出啊
    赢点儿 离线,最后访问时间:2006-6-11 17:35:31 赢点儿

    等级:Flash MX


    等级:论坛管理员
    头衔:闪吧督学
    注册:2002-07-06
    发贴:4,087
    积分:138
    2005-05-29, 22:10 下午   IP 地址:已记录  报告  收藏  第4楼

  • 兄弟,这期好快,鼓励一下。
    coldstone 离线,最后访问时间:2006-6-13 12:49:57 coldstone

    等级:Flash MX


    等级:博客管理员
    头衔:河姆渡性感农民
    注册:2001-11-11
    发贴:3,936
    积分:120
    访问我的Blog
    2005-05-30, 09:47 上午   IP 地址:已记录  报告  收藏  第5楼

  • 呵呵,主要是这个和上期紧接着应该是一个部分的内容,所以就放出来了。 to 清水游鲨
    你确认数据库面板上的前3步都正确的完成了吗?再检查一下。
    一般来说这样的问题删除站点后,从头做一次就好了。

    其实。。我是一个演员。。
    抑郁症的无奈 离线,最后访问时间:2005-7-22 13:11:00 抑郁症的无奈

    等级:Flash1

    等级:FLASH1
    注册:2005-05-16
    发贴:55
    积分:1
    2005-05-30, 10:00 上午   IP 地址:已记录  报告  收藏  第6楼


  • 我在连接数据库时碰到了这个问题,请问这是为什么呀?麻烦请教
    附件:
    序号 附件名称 类型 文件大小 上传时间 下载次数
    1 2005-5/200553010023611.jpg 网络图片 100Kb 2005-05-30 36
    coldstone 离线,最后访问时间:2006-6-13 12:49:57 coldstone

    等级:Flash MX


    等级:博客管理员
    头衔:河姆渡性感农民
    注册:2001-11-11
    发贴:3,936
    积分:120
    访问我的Blog
    2005-05-30, 10:19 上午   IP 地址:已记录  报告  收藏  第7楼

  • 不好意思,我一时手误,在原来的教程中的连接字符串中的分号“;”打成了冒号“:”,如果是复制的代码,请更正一下,或者重新复制一次。 另外,连接字符串中“=”两边不要有空格。

    其实。。我是一个演员。。
    清水游鲨 离线,最后访问时间:2006-5-20 19:40:12 清水游鲨

    等级:Flash 2

    等级:FLASH 2
    注册:2004-04-12
    发贴:429
    积分:3
    2005-05-30, 11:26 上午   IP 地址:已记录  报告  收藏  第8楼

  • 以下是引用coldstone在2005-5-30 10:19:36的发言:
    不好意思,我一时手误,在原来的教程中的连接字符串中的分号“;”打成了冒号“:”,如果是复制的代码,请更正一下,或者重新复制一次。 另外,连接字符串中“=”两边不要有空格。

    现在好了.谢谢哦..期待下期啊.

    学啊.很多都不懂呢.
    抑郁症的无奈 离线,最后访问时间:2005-7-22 13:11:00 抑郁症的无奈

    等级:Flash1

    等级:FLASH1
    注册:2005-05-16
    发贴:55
    积分:1
    2005-05-30, 12:22 下午   IP 地址:已记录  报告  收藏  第9楼

  • 谢谢石头老师啊,确实成功了:)
    抑郁症的无奈 离线,最后访问时间:2005-7-22 13:11:00 抑郁症的无奈

    等级:Flash1

    等级:FLASH1
    注册:2005-05-16
    发贴:55
    积分:1
    2005-05-30, 13:48 下午   IP 地址:已记录  报告  收藏  第10楼

  • 再问问看石头老师,你说:这样我们就实现了在Dreamweaver中做程序时使用绝对路径,在服务器上浏览时使用相对路径定位数据库而不用修改代码的目的。 这是不是意味着dreamweaver在检测连接时只能通过绝对路径的方式,而相对路径它没有办法检测连接?
    抑郁症的无奈 离线,最后访问时间:2005-7-22 13:11:00 抑郁症的无奈

    等级:Flash1

    等级:FLASH1
    注册:2005-05-16
    发贴:55
    积分:1
    2005-05-30, 14:08 下午   IP 地址:已记录  报告  收藏  第11楼

  • 石头老师,我的问题比较多,请见谅,您说的:在程序中我们只需要将字段拖到页面上就可以插入记录集的数据到页面上了。 这句花具体是什么意思呀? 谢谢你
    elemlux 离线,最后访问时间:2006-5-29 9:27:36 elemlux

    等级:Flash 2

    等级:FLASH 2
    注册:2005-01-24
    发贴:172
    积分:7
    2005-05-30, 17:56 下午   IP 地址:已记录  报告  收藏  第12楼

  • 我的跟.二楼的朋友.报一样的错. 不知怎么搞的.我朋友给了我一个这样的写法.但是我不知怎么用.帮忙解释一下好吗? conmdb="data.mdb"
    set conn= Server.CreateObject("ADODB.Connection")
    connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(""&conmdb&"")
    conn.open connstr
    coldstone 离线,最后访问时间:2006-6-13 12:49:57 coldstone

    等级:Flash MX


    等级:博客管理员
    头衔:河姆渡性感农民
    注册:2001-11-11
    发贴:3,936
    积分:120
    访问我的Blog
    2005-05-30, 19:32 下午   IP 地址:已记录  报告  收藏  第13楼

  • 以下是引用抑郁症的无奈在2005-5-30 13:48:46的发言:
    再问问看石头老师,你说:这样我们就实现了在Dreamweaver中做程序时使用绝对路径,在服务器上浏览时使用相对路径定位数据库而不用修改代码的目的。 这是不是意味着dreamweaver在检测连接时只能通过绝对路径的方式,而相对路径它没有办法检测连接?

    不是,Dreamweaver也可以通过相对路径的代码连接到数据库。
    只不过这样可以减少一个过程,一是节省一些资源,二是减少出错的机率。

    其实。。我是一个演员。。
    coldstone 离线,最后访问时间:2006-6-13 12:49:57 coldstone

    等级:Flash MX


    等级:博客管理员
    头衔:河姆渡性感农民
    注册:2001-11-11
    发贴:3,936
    积分:120
    访问我的Blog
    2005-05-30, 19:38 下午   IP 地址:已记录  报告  收藏  第14楼

  • 以下是引用抑郁症的无奈在2005-5-30 14:08:12的发言:
    石头老师,我的问题比较多,请见谅,您说的:在程序中我们只需要将字段拖到页面上就可以插入记录集的数据到页面上了。 这句花具体是什么意思呀?

    就是将绑定面板上的字段名(比如上面的“留言”),拖到已经打开的页面中的相应位置。也可以选择字段名,然后点击面板下面的“插入”。你多试一下就会懂了,:) 这个以后的教程中会详细的讲到。 另外,多问问题是好事~~

    其实。。我是一个演员。。
    coldstone 离线,最后访问时间:2006-6-13 12:49:57 coldstone

    等级:Flash MX


    等级:博客管理员
    头衔:河姆渡性感农民
    注册:2001-11-11
    发贴:3,936
    积分:120
    访问我的Blog
    2005-05-30, 19:42 下午   IP 地址:已记录  报告  收藏  第15楼

  • to elemlux : 再严格检查一下"="两边是否有多余的空格,也可以删除站点重新建立一次再试。 你朋友的代码是通常手写ASP程序时的打开数据库连接的代码,在DW中并不适用。

    其实。。我是一个演员。。
    elemlux 离线,最后访问时间:2006-5-29 9:27:36 elemlux

    等级:Flash 2

    等级:FLASH 2
    注册:2005-01-24
    发贴:172
    积分:7
    2005-05-31, 04:06 上午   IP 地址:已记录  报告  收藏  第16楼
    重建了站点.怎么还是出错啊.


  • 我仔细检查了.代码真的没写错.但还是报同样的错.到底是怎么回事啊~?版主 我的QQ是38915725 希望你能在QQ上同我说一下.
    附件:
    序号 附件名称 类型 文件大小 上传时间 下载次数
    1 2005-5/20055314438333.jpg 网络图片 157Kb 2005-05-31 37
    抑郁症的无奈 离线,最后访问时间:2005-7-22 13:11:00 抑郁症的无奈

    等级:Flash1

    等级:FLASH1
    注册:2005-05-16
    发贴:55
    积分:1
    2005-05-31, 17:27 下午   IP 地址:已记录  报告  收藏  第17楼


  • 以下是引用抑郁症的无奈在2005-5-30 13:48:46的发言:
    再问问看石头老师,你说:这样我们就实现了在Dreamweaver中做程序时使用绝对路径,在服务器上浏览时使用相对路径定位数据库而不用修改代码的目的。 这是不是意味着dreamweaver在检测连接时只能通过绝对路径的方式,而相对路径它没有办法检测连接?

    不是,Dreamweaver也可以通过相对路径的代码连接到数据库。
    只不过这样可以减少一个过程,一是节省一些资源,二是减少出错的机率。

    老师这样的解释我还是有些不太理解,我认为既然dreamweaver可以通过相对路径的代码连接到数据库,那么我在代码中不用单引号部分的绝对路径,而直接只写相对路径的代码,既能满足在dreamweaver中的测试连接,又能满足以后到服务器上的连接,何必要多此一举写上单引号后面的呢?您说呢?
    抑郁症的无奈 离线,最后访问时间:2005-7-22 13:11:00 抑郁症的无奈

    等级:Flash1

    等级:FLASH1
    注册:2005-05-16
    发贴:55
    积分:1
    2005-05-31, 17:32 下午   IP 地址:已记录  报告  收藏  第18楼

  • 这样的互动感觉很好
    chenxt 离线,最后访问时间:2006-3-21 21:44:21 chenxt

    等级:Flash 2

    等级:FLASH 2
    注册:2003-05-08
    发贴:107
    积分:2
    2005-05-31, 17:41 下午   IP 地址:已记录  报告  收藏  第19楼

  • 啊,期待接下来的教程!
    tianyinwolf 离线,最后访问时间:2006-5-3 19:02:31 tianyinwolf

    等级:Flash 2

    等级:FLASH 2
    注册:2005-04-30
    发贴:256
    积分:2
    2005-06-01, 00:03 上午   IP 地址:已记录  报告  收藏  第20楼

  • 没敢试!!?
    zxcx 离线,最后访问时间:2006-6-8 21:28:46 zxcx

    等级:Flash 2

    等级:FLASH 2
    注册:2003-05-12
    发贴:186
    积分:0
    2005-06-01, 10:18 上午   IP 地址:已记录  报告  收藏  第21楼

  • 在连接数据库的时候有两种选择方式,一种是“自定义连接字符串”,一种是“数据源名称(Dsn),这两个有何区别。另外,在数据源选择中 如图: 用户dsn,系统dsn,文件dsn有何区别~~~ 为什么在数据源连接的时候选择的是系统dsn中的数据源而不是其他的呢~~~ 谢谢~~~~~
    清水游鲨 离线,最后访问时间:2006-5-20 19:40:12 清水游鲨

    等级:Flash 2

    等级:FLASH 2
    注册:2004-04-12
    发贴:429
    积分:3
    2005-06-01, 19:29 下午   IP 地址:已记录  报告  收藏  第22楼

  • 你用系统DSN除非服务器是你自己的,呵.要不,你每个数剧库都要联系服务商为你做,麻烦哦.

    学啊.很多都不懂呢.
    LH8 离线,最后访问时间:2006-6-10 9:42:31 LH8

    等级:Flash 5


    等级:版主
    头衔:aisopai
    注册:2004-10-01
    发贴:2,359
    积分:62
    2005-06-02, 11:29 上午   IP 地址:已记录  报告  收藏  第23楼

  • 石头老师:怎么相对路径和绝对路径的写法差别这么大啊??
    Driver={Microsoft Access Driver (*.mdb)};DBQ=F:\Program\flash8asp\^data#base^\%flash8=data%.mdb
    我还以为相对路径只需要这样写:Driver={Microsoft Access Driver (*.mdb)};DBQ=\^data#base^\%flash8=data%.mdb
    MM_conntest_String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.Mappath("/^data#base^/%flash8=data%.mdb")
    老师给解释一下好吗?
    抑郁症的无奈 离线,最后访问时间:2005-7-22 13:11:00 抑郁症的无奈

    等级:Flash1

    等级:FLASH1
    注册:2005-05-16
    发贴:55
    积分:1
    2005-06-02, 13:44 下午   IP 地址:已记录  报告  收藏  第24楼

  • 这几天石头老师好象比较忙哦,没时间回答我们的问题了
    coldstone 离线,最后访问时间:2006-6-13 12:49:57 coldstone

    等级:Flash MX


    等级:博客管理员
    头衔:河姆渡性感农民
    注册:2001-11-11
    发贴:3,936
    积分:120
    访问我的Blog
    2005-06-03, 09:55 上午   IP 地址:已记录  报告  收藏  第25楼

  • 呵呵,这两天事情比较多,各位见谅。 综合回答一下前面的问题: Dreamweaver发生“一个未知名的错误”的原因有很多,主要是测试服务器以及连接字符串出错的可能比较多。在连接数据库之前一定要确认数据库面板的前3步都打上了勾。可以用几种字符串连接的方法都试一下(可以在Dreamweaver帮助中找到),看是否都会出错。如果错误仍未排除可以按以下步骤排除:
    1、执行“站点”>“高级”>“移除连接脚本”;
    2、删除Dreamweaver站点;
    3、回到我的电脑中打开站点文件夹,删除Dreamweaver生成的目录及文件;
    4、重建站点及连接。 to 抑郁症的无奈
    当然这样做不是必须的,而是我自己认为的一种比较好的方法。因为只用本地绝对路径传到服务器之前必然要修改,传回来时又要修改,很麻烦。只用相对路径Dreamweaver可能出错,有时会发生连接建立成功但找不到表的情况。所以才把两个方法结合起来减少出错的机会。 to zxcx
    “用户DSN”指Windows多用户环境下当前用户才能使用的数据源;
    “系统DSN”指本机所有用户均能使用的数据源;
    “文件DSN”指数据源以文件的形式存放于硬盘某目录中,可以通过该文件连接数据源。
    不过“ODBC数据源”只限于在本机上使用时的数据源连接,在另外的机器上必须重建,所以我们并不推荐。 to LH8
    你可以理解为连接字符串中只能使用绝对路径,也就是(X:\folder\data\data.mdb)的形式。
    我们所说的相对路径实际上只是在ASP程序中用Server.Mappath返回了该文件在服务器端的绝对路径,而不是单纯的相对路径。

    其实。。我是一个演员。。
    总页数 5 第 1 页 [共有 113 条记录]
    1 2 3 4 5 >
    快速回复帖子

     




    标题: