ASP如何使用MYSQL数据库
创新互联拥有一支富有激情的企业网站制作团队,在互联网网站建设行业深耕十载,专业且经验丰富。十载网站优化营销经验,我们已为上千中小企业提供了网站设计制作、成都网站设计解决方案,按需定制开发,设计满意,售后服务无忧。所有客户皆提供一年免费网站维护!
mysql数据库以它短小、方便、速度快、免费等优点成为很多网站目前首选
数据库,但一般都是用php+mysql相结合来开发各种动态页面,其实asp也可以
使用mysql数据库开发动态页面,小弟我也是刚刚学会,不敢独享,所以特写了
这篇文章供大伙参考。
我的环境是windows2000+iis5.0+mysql-3.23.32-win+php4
mysql-3.23.32-win(这个是最新版的)
myodbc-2.50.36-dll(这个是最重要的,mysql odbc的驱动程序,可以在下载)
第一步:安装mysql odbd的驱动程序,将下载的myodbd-2.50.46-dll文件复制到windows\system目录下(windows2000是winnt/system32)
然后建立一新文件,扩展名为reg(就是注册表文件),将以下内容复制到该文件中。
regedit4
[hkey_local_machine\software\odbc\odbcinst.ini\myodbc driver]
"usagecount"=dword:00000002
"driver"="c:\\windows\\system\\myodbc.dll"
"setup"="c:\\windows\\system\\myodbc.dll"
"sqllevel"="1"
"fileusage"="0"
"driverodbcver"="02.50"
"connects"="yyy"
"apilevel"="1"
"cptimeout"="120"
[hkey_local_machine\software\odbc\odbcinst.ini\odbc drivers]
"myodbc driver"="installed"
保存后双击该文件,将上面代码注册到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代码!
<%
strconnection = "dsn=hc188;driver={myodbd driver};server=localhost;uid=root;pwd=;database=hc188"
set adodataconn = server.createobject("adodb.connection")
adodataconn.open strconnection
strquery = "select * from user"
set rs = adodataconn.execute(strquery)
if not rs.bof then
%>
<table>
<tr>
<td<b>username</b></td>
<td><b>password</b></td>
</tr>
<%
do while not rs.eof
%>
<tr>
<td><%=rs("username")%></td>
<td><%=rs("password")%></td>
</tr>
<%
rs.movenext
loop
%>
</table>
<%
else
response.write("sorry, no data found.")
end if
rs.close
adodataconn.close
set adodataconn = nothing
set rsemaildata = nothing
%>
第二种方法:我在使用中想过如果不建立系统dsn,是否也可以使用mysql数据库呢?结果是可以的。
方法很简单,把上面asp代码第二行代码改为:
strconnection="defaultdir=;driver={myodbc driver};database=hc188"
我奇怪的发现,这种方法连用户名和密码都不需要就可以使用。是不是mysql的一个bug呢?
以上代码全部经测试通过! 如何建立MYSQL数据库的连接?
在安装好MYSQL ODBD的驱动程序后,应如何建立ASP文件连接数据库? 我们有两种方法:一种是在ODBC数据源中建立一个DSN。具体方法是:
1、打开控制面板中的ODBD数据源;
2、选择系统DSN,添加一个新的DSN驱动程序;
3、选择MyODBD,出现一个对话框供输入MySQL:
(1)Windows DSN name:所要建立DSN的名称;
(2)MySQL Host (name or ip):MySQL服务器的名称或IP地址。一般填LocalHost ;
(3) MySQL database name:需要使用数据库的名称。
4、在MySQL管理程序中建立数据库。以数据库chunfeng为例,内有user数据表,两个字段分别是:username和password,我们可以试着加入几个记录:
(1)user:连接数据库的用户名。可填root超级用户;
(2)password:连接数据库用户口令。可不填;
(3)Port(if not 3306):MySQL在服务器的端口。填默认为3306;
(4)SQL command on connect:使用SQL命令连接数据库。可不填。
全部填完后按OK保存。
步骤:
1.安装mysql
2.安装myodbc
3.启动mysql管理器,如果在my odbc框内有如下字样,就代表成功了一半
Quote:
Driver version 03.51
Driver **********
API Level *********
Setup **********
SQL Lever **********
这时候,并不是在Asp程序里设置好连接字符串,就能连上mysql数据库的,这一点要记住!!
还要执行如下操作。。。
步骤:
1.打开控制面板 -- 打开管理工具 -- 打开数据源(ODBC) (注意到用户DSN里已经有mysql了)
2. 选择系统DSN -- 添加 -- 选择MySQL ODBC 3.51 Driver -- 弹出Mysql配置界面窗口 - - data source name填好吧,database name填mysql(最好和用户DSN一样),user填“root”,密码 空,其它默认,OK。 (第二步比较重要,关系到能否顺利连接的问题)
好吧,大家为IIS建个站点或虚拟目录什么的。写个ASP文件试试看??
以下是我写的个测试用的东西(数据库是mysql自带的)。。。
---------
%
dim conn,connstr,sql
set conn=server.createobject("adodb.connection")
connstr="DSN=myodbc3-test;DESC=MySQL ODBC 3.51 TEST DSN;DATABASE=mysql;SERVER=localhost;UID=root;PASSWORD=;PORT=3306;OPTION=3;STMT=;"
conn.open connstr
’ sql="insert into db (host,db,user) values (’adsfa’,’asad’,’asd’)"
’ conn.execute sql
sql="select * from db"
set rs=conn.execute(sql)
do while not rs.eof
response.write rs("host")
rs.movenext
loop 网上摘录的 感觉挺靠谱的 希望能帮到你
类的调用方法:
public int RunProcedure(string storedProcName, IDataParameter[] parameters, out int rowsAffected)
{
using (SqlConnection connection = new SqlConnection(strConn))
{
int result;
connection.Open();
SqlCommand command = BuildIntCommand(connection, storedProcName, parameters);
rowsAffected = command.ExecuteNonQuery();
result = (int)command.Parameters["ReturnValue"].Value;
//Connection.Close();
return result;
}
}
Mysql的简单存储过程:
CREATE PROCEDURE `DELETEDB`(IN m_orgid char(12))
BEGIN
delete from hardwareinfo where orgid=m_orgid;
delete from addressinfo where orgid=m_orgid;
END