当前位置:网络资源中心文章中心网络编程ASP教程 → 文章内容

ASP使用MYSQL数据库全攻略 (1)

减小字体 增大字体 作者:Qesy  来源:网咯收集  发布时间:2008-5-16 9:41:38
MYSQL数据库以它短小、方便、速度快、免费等优点成为很多网站目前首选
数据库,但一般都是用PHP+MYSQL相结合来开发各种动态页面,其实ASP也可以
使用MYSQL数据库开发动态页面,小弟我也是刚刚学会,不敢独享,所以特写了
这篇文章供大伙参考。
我的环境是WINDOWS98+PWS4.0+mysql-3.23.32-win+PHP4
必要的软件PWS4.0(呵呵,废话)
mysql-3.23.32-win(这个是最新版的)
myodbc-2.50.36-dll(这个是最重要的,MYSQL ODBC的驱动程序,可以到www.mysql.com下载)
第一步安装MYSQL ODBD的驱动程序,将下载的myodbd-2.50.46-dll文件复制到windows\system目录下(windows2000
是winnt/system32)
然后建立一新文件,扩展名为reg(就是注册表文件),将以下内容复制到该文件中。
REGEDIT4

[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\myodbc driver]
%26quot;UsageCount%26quot;=dword:00000002
%26quot;Driver%26quot;=%26quot;C:\\WINDOWS\\System\\myodbc.dll%26quot;
%26quot;Setup%26quot;=%26quot;C:\\WINDOWS\\System\\myodbc.dll%26quot;
%26quot;SQLLevel%26quot;=%26quot;1%26quot;
%26quot;FileUsage%26quot;=%26quot;0%26quot;
%26quot;DriverODBCVer%26quot;=%26quot;02.50%26quot;
%26quot;ConnectFunctions%26quot;=%26quot;YYY%26quot;
%26quot;APILevel%26quot;=%26quot;1%26quot;
%26quot;CpTimeout%26quot;=%26quot;120%26quot;
[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers]
%26quot;myodbc driver%26quot;=%26quot;installed%26quot;

保存后双击该文件,将上面代码注册到WINDOWS注册表中。
假如安装在windows2000中,则Driver和Setup主键的值要做相应改变,这里我想就不用多说了。
假如成功,在控制面板/ODBD数据源的驱动程序里将看到myodbd driver这一项!

第二步建立ASP文件链接数据库。
这里有两种方法,一种是在ODBC数据源中建立一个系统DSN。后来我发现不建立也可以在ASP中使用MYSQL,方
法在下文将讲道。
打开控制面板/ODBD数据源,选择系统DSN,然后添加一个新的DSN,驱动程序选择myodbd driver,会出现一个对
话框供输入mysql
相关信息。
Windows DSN name: 所要建立DSN的名称
Mysql Host (name or ip):Mysql服务器的名称或者是IP地址,通常填localhost
Mysql database name:需要使用数据库的名称,数据库在Mysql治理程序中建立。这里我们使用一个例子。数
据库名hc188
里面有数据表user 数据表有两个字段分别是username和password,随便插入几个
数据。
user:链接数据库的用户名,我填的是root超级用户
password:链接数据库用户密码,假如没有,可以不填
Port(if not 3306)Mysql在服务器的端口,假如不填默认为3306
SQL command on connect:使用sql命令链接数据库,这项可以不填
填写完毕后选择OK保存。

下面链接数据库的ASP代码!

%26lt;%
strConnection = %26quot;dsn=hc188;driver={myodbd driver};server=localhost;uid=root;pwd=;database=hc188%26quot;
Set adoDataConn = Server.CreateObject(%26quot;ADODB.Connection%26quot;)
adoDataConn.Open strConnection

strQuery = %26quot;SELECT * FROM user%26quot;
Set rs = adoDataConn.Execute(strQuery)
If Not rs.BOF Then
%%26gt;
%26lt;TABLE%26gt;
%26lt;TR%26gt;
%26lt;TD%26lt;b%26gt;username%26lt;/b%26gt;%26lt;/TD%26gt;
%26lt;TD%26gt;%26lt;b%26gt;password%26lt;/b%26gt;%26lt;/TD%26gt;
%26lt;/TR%26gt;
%26lt;%
Do While Not rs.EOF
%%26gt;
%26lt;TR%26gt;
%26lt;TD%26gt;%26lt;%=rs(%26quot;username%26quot;)%%26gt;%26lt;/TD%26gt;
%26lt;TD%26gt;%26lt;%=rs(%26quot;password%26quot;)%%26gt;%26lt;/TD%26gt;
%26lt;/TR%26gt;
%26lt;%
rs.MoveNext
Loop
%%26gt;
%26lt;/TABLE%26gt;
%26lt;%
Else
Response.Write(%26quot;Sorry, no data found.%26quot;)
End If

rs.Close
adoDataConn.Close
Set adoDataConn = Nothing
Set rsEmailData = Nothing
%%26gt;

第二种方法我在使用中想过假如不建立系统DSN,是否也可以使用MYSQL数据库呢?结果是可以的。
方法很简单,把上面ASP代码第二行代码改为
strconnection=%26quot;DefaultDir=;Driver={myodbc driver};database=hc188%26quot;

我希奇的发现,这种方法连用户名和密码都不需要就可以使用。是不是MYSQL的一个BUG呢?

以上代码全部经测试通过!

到此,全文结束了,是不是很简单呢!希望能帮上你!