经验之谈:MySQL与ASP.NET配合更强大[2]

经验之谈:MySQL与ASP.NET配合更强大[2],第1张

连接 MySQL 数据库

使用MySQL数据库的第一步是要通过MySQLConnection类和数据库建立连接 通过一个连接字串 MySqlConnection 将会被实例化成一个示例 连接字符串将告诉代码到哪里去找MySQL服务器以及其他一些选项

一个连接字串告诉代码使用指定的用户名和密码去连接一个名为MySQLTestServer的MySQL服务器 并进入techrepublic数据库 我在我的测试机上设定了允许匿名登陆(这样的设定有非常大的安全漏洞 所以不建议你在生产服务器上也这么做) 所以在范例中将会使用如下的连接字串:

server=localhostdatabase=sitepoint

指定了连接字串后 MySqlConnection 对象的Open方法就被调用并打开连接 连接建立后 你就可以给MySQL数据库发送命令或从数据库获得数据了

ASP NET和MySQL的组合

让我们更深入的讨论一下结合MySqlConnection类和其他的类来生成一个MySQL服务器上的数据库列表 表 B列出了一个使用C#写的ASP NET的网页表单 它建立了一个连接 接着给服务器下了一个指令(SHOW DATABASES) 然后通过MySqlReader对象把结果显示出来

用 MySqlCommand 对象向MySQL服务器发送 SHOW DATABASES 命令和直接在 MySQL 管理工具中输入这个命令得结果是一样的 唯一的区别是 我们在代码中必须使用另一个对象来获取结果集 MySqlDataReader 对象在获取结果时被实例化(通过 MySqlCommand 类的 ExecuteReader 方法) MySqlDataReader 对象的 GetString 方法被用于通过ASP NET的标签控制来显示结果集中的数据 GetString 方法的指针 指定了显示结果集的当前行(在while循环中)的第一列数据

Mono提示

如果你使用开放源代码的Mono开发平台 例子中的代码只需要做小小的改动就能正常的运行 MySQL的数据接口在 ByteFX Data MySqlClient 这个空间名里 而不是Windows上的MySql Data MySqlClient空间名 事实上 MySQL 的数据接口原来是由 ByteFX公司开发的 但是后被MySQL公司收购 所以如果你使用Mono的话 你必须这样声明空间名:

using ByteFX Data MySqlClient

结语

MySQL 和 NET 的组合提供了一个强大的开发平台 MySQL在开源社区得到了强大的技术支持 NET也通过 Mono 而被开放源代码社区所接受 这样的组合提供了一个在Windows 及其他语言如UNIX或Linux 环境下高度灵活的开发平台

lishixinzhi/Article/program/net/201311/15424

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的驱动程序,可以在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]

"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=hc188driver={myodbd driver}server=localhostuid=rootpwd=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保存。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10657200.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存