以下的文章主要讲述的是ASP在使用MySQL数据库的全攻略,ASP在使用MySQL数据库在实际中的应用比例还是占为多数的,如果你对这一技术,心存好奇的话,以下的文章将会揭开它的神秘面纱。 MySQL(和PHP搭配之最佳组合)数据库以它短
以下的文章主要讲述的是ASP在使用MySQL数据库的全攻略,ASP在使用MySQL数据库在实际中的应用比例还是占为多数的,如果你对这一技术,心存好奇的话,以下的文章将会揭开它的神秘面纱。
MySQL(和PHP搭配之最佳组合)数据库以它短小、方便、速度快、免费等优点成为很多网站目前首选MySQL数据库,但一般都是用PHP+MySQL(和PHP搭配之最佳组合)相结合来开发各种动态页面,其实ASP也可以使用MySQL(和PHP搭配之最佳组合)数据库开发动态页面,小弟我也是刚刚学会,不敢独享,所以特写了这篇文章供大伙参考。
我的环境是WINDOWS98+PWS4.0+MySQL(和PHP搭配之最佳组合)-3.23.32-win+PHP4
必要的软件:PWS4.0(呵呵,废话)
MySQL(和PHP搭配之最佳组合)-3.23.32-win(这个是最新版的)
myodbc-2.50.36-dll(这个是最重要的,MySQL(和PHP搭配之最佳组合) ODBC的驱动程序,可以到www.MySQL(和PHP搭配之最佳组合).com下载)
第一步:安装MySQL(和PHP搭配之最佳组合) ODBD的驱动程序
将下载的myodbd-2.50.46-dll文件复制到windowssystem目录下(windows2000
是winnt/system32)然后建立一新文件,扩展名为reg(就是注册表文件),将以下内容复制到该文件中。
<ol class="dp-xml"> <li class="alt"><span><span>REGEDIT4 </span></span></li> <li><span>[HKEY_LOCAL_MACHINESOFTWAREODBCODBCINST.INImyodbc driver] </span></li> <li class="alt"><span>"UsageCount"=dword:00000002 </span></li> <li><span>"Driver"="C:\WINDOWS\System\myodbc.dll" </span></li> <li class="alt"><span>"Setup"="C:\WINDOWS\System\myodbc.dll" </span></li> <li><span>"SQLLevel"="1" </span></li> <li class="alt"><span>"FileUsage"="0" </span></li> <li><span>"DriverODBCVer"="02.50" </span></li> <li class="alt"><span>"ConnectFunctions"="YYY" </span></li> <li><span>"APILevel"="1" </span></li> <li class="alt"><span>"CpTimeout"="120" </span></li> <li><span>[HKEY_LOCAL_MACHINESOFTWAREODBCODBCINST.INIODBC Drivers] </span></li> <li class="alt"><span>"myodbc driver"="installed" </span></li> </ol>
保存后双击该文件,将上面代码注册到WINDOWS注册表中。
如果安装在windows2000中,则Driver和Setup主键的值要做相应改变,这里我想就不用多说了。如果成功,在控制面板/ODBD数据源的驱动程序里将看到myodbd driver这一项!
第二步:建立ASP文件链接数据库
这里有两种方法,一种是在ODBC数据源中建立一个系统DSN。后来我发现不建立也可以在ASP中使用MySQL(和PHP搭配之最佳组合),方法在下文将讲道。
打开控制面板/ODBD数据源,选择系统DSN,然后添加一个新的DSN,驱动程序选择myodbd driver,会出现一个对话框供输入MySQL(和PHP搭配之最佳组合) 相关信息。
Windows DSN name: 所要建立DSN的名称
MySQL(和PHP搭配之最佳组合) Host (name or ip):MySQL(和PHP搭配之最佳组合)服务器的名称或者是IP地址,通常填localhost
MySQL(和PHP搭配之最佳组合) database name:需要使用MySQL数据库的名称,数据库在MySQL(和PHP搭配之最佳组合)管理程序中建立。这里我们使用一个例子。数据库名:hc188
里面有数据表:user 数据表有两个字段分别是:username和password,随便插入几个数据。
user:链接数据库的用户名,我填的是root超级用户
password:链接数据库用户密码,如果没有,可以不填
Port(if not 3306):MySQL(和PHP搭配之最佳组合)在服务器的端口,如果不填默认为3306
SQL command on connect:使用sql命令链接MySQL数据库,这项可以不填
填写完毕后选择OK保存。
下面链接数据库的ASP代码!
<ol class="dp-xml"> <li class="alt"><span><span><% </span></span></li> <li> <span class="attribute">strConnection</span><span> = </span><span class="attribute-value">"dsn=hc188;driver={myodbd driver};server=localhost;uid=root;pwd=;database=hc188"</span><span> </span> </li> <li class="alt"> <span>Set </span><span class="attribute">adoDataConn</span><span> = </span><span class="attribute-value">Server</span><span>.CreateObject("ADODB.Connection") </span> </li> <li><span>adoDataConn.Open strConnection </span></li> <li class="alt"> <span class="attribute">strQuery</span><span> = </span><span class="attribute-value">"SELECT * FROM user"</span><span> </span> </li> <li> <span>Set </span><span class="attribute">rs</span><span> = </span><span class="attribute-value">adoDataConn</span><span>.Execute(strQuery) </span> </li> <li class="alt"><span>If Not rs.BOF Then </span></li> <li><span>%> </span></li> <li class="alt"><span><TABLE> </span></li> <li><span><TR> </span></li> <li class="alt"><span><TD<b>username</b></TD> </span></li> <li><span><TD><b>password</b></TD> </span></li> <li class="alt"><span></TR> </span></li> <li><span><% </span></li> <li class="alt"><span>Do While Not rs.EOF </span></li> <li><span>%> </span></li> <li class="alt"><span><TR> </span></li> <li><span><TD><%=rs("username")%></TD> </span></li> <li class="alt"><span><TD><%=rs("password")%></TD> </span></li> <li><span></TR> </span></li> <li class="alt"><span><% </span></li> <li><span>rs.MoveNext </span></li> <li class="alt"><span>Loop </span></li> <li><span>%> </span></li> <li class="alt"><span></TABLE> </span></li> <li><span><% </span></li> <li class="alt"><span>Else </span></li> <li><span>Response.Write("Sorry, no data found.") </span></li> <li class="alt"><span>End If </span></li> <li><span>rs.Close </span></li> <li class="alt"><span>adoDataConn.Close </span></li> <li> <span>Set </span><span class="attribute">adoDataConn</span><span> = </span><span class="attribute-value">Nothing</span><span> </span> </li> <li class="alt"> <span>Set </span><span class="attribute">rsEmailData</span><span> = </span><span class="attribute-value">Nothing</span><span> </span> </li> <li><span>%> </span></li> </ol>
第二种方法:我在使用中想过如果不建立系统DSN,是否也可以使用MySQL数据库呢?结果是可以的。
方法很简单,把上面ASP代码第二行代码改为:
<ol class="dp-xml"><li class="alt"><span><span class="attribute">strconnection</span><span>=</span><span class="attribute-value">"DefaultDir=;Driver={myodbc driver};database=hc188"</span><span> </span></span></li></ol>
我奇怪的发现,这种方法连用户名和密码都不需要就可以使用。是不是MySQL(和PHP搭配之最佳组合)的一个BUG呢?
以上代码全部经测试通过!