当前位置: 首页 > 图文教程 > 网络编程 > ASP > 如何在ASP中使用mySQL

ASP
用ASP做一个分页程序
用ASP实现网站的“目录树”管理
网页在线人数统计的做法
用ASP生成Chart
用ASP构建你的网站新闻发布(一)
用ASP构建你的网站新闻发布(三)
如何处理ASP中的图象
用ASP编写计数器
ASP防盗链及防下载的方法
ASP数据类型
ASP组件中的安全问题
ASP漏洞集-ASP漏洞分析和解决方法
ASP漏洞集-Carello Web 使 ASP 源码暴露(APP,缺陷)
ASP漏洞集-MS IIS server的ASP安全缺陷(MS,缺陷)
ASP漏洞集-MS IIS虚拟主机ASP源码泄露(MS,缺陷)
ASP漏洞集-给你的FileSystemObject对象加把锁
ASP漏洞集-通过asp入侵web server,窃取文件毁坏系统
ASP漏洞集-MS IIS server/Frontpage Ext Server
ASP漏洞集-虚拟web目录容易泄露ASP源代码 (MS,缺陷)
ASP漏洞集-用ASP实现网页保密的两种方法

如何在ASP中使用mySQL


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 146 ::
收藏到网摘: n/a

  Using A mySQL Databases
by Ben O'Neill


Databases are the best way to keep your web site up-to-date and dynamic. Databases are used these days by
thousands of web sites. They are used for storing news and general information. Web sites like the ASP
Index (www.aspin.com) are run on large databases. Databases make a web site easy to update and once you
have the base script, to add, remove and modify things in a database is very easy.



To start you need to know how to connect to a database. ASP can connect to virtually any type, from
Microsoft Access to SQL. In this example I'll be using mySQL and OLE DB to connect to it.



mySQL can be downloaded from the mySQL web site (www.mysql.com). You will also need the provider used to
connect to it, also available from the mySQL web site.



You may be asking what's OLE DB? I'm used to ODBC and DSN. OLE DB is faster and more stable. It's almost
exactly the same.



First we need to connect to the database, because it's a mySQL database you also need to supply a database
name. (in mySQL you can have mulitple databases on the same SQL server.)



<%

strConnection = "driver={MySQL};server=localhost;uid=benoneill;pwd=mypassword;database=databasename"



Set adoDataConn = Server.CreateObject("ADODB.Connection")

adoDataConn.Open strConnection

%>



And now we've connected. Let's pretend we've got a big list of lots and lots of email addresses, here's
the contents of our database, it allows me to show you how it works better.



Table Name: emailadds



name牋牋牋牋牋牋牋?牋牋牋牋牋?emailadd

------------------------------------------------------

Ben牋牋牋牋牋牋牋牋?牋牋牋牋牋[email protected]

Fred牋牋牋牋牋牋牋牋 牋牋牋牋牋[email protected]

Ben Harding牋牋 牋牋牋牋牋[email protected]

Dave Geralding 牋牋牋牋牋[email protected]



Now we have the database open let's run a query to list and output all the names and email address in a
nice easy to view table.



<%

?strQuery = "SELECT * FROM emailadds"



?Set rsEmailData = adoDataConn.Execute(strQuery)



?If Not rsEmailData.BOF Then

%>



<TABLE>



?/span><TR>

牋 <TD<b>Name</b></TD>

牋 <TD><b>Email Address</b></TD>

?/span></TR>



<%

?Do While Not rsEmailData.EOF

%>



?/span><TR>

牋 <TD><%=rsEmailData("name").Value %></TD>

牋 <TD><%=rsEmailData("emailadd").Value %></TD>

?/span></TR>



<%

牋?rsEmailData.MoveNext

?Loop



%>



</TABLE>



<%

?Else



牋? Response.Write("Sorry, no email addresses found.")



?End If

%>





There we go. If no records are found then it says "Sorry, no email addresses found".



That query is simple enough, it tells the database to get (SELECT) all the records and all the fields from
the table named emailadds.



How about we make it only show people with the name "ben" somewhere in their name, simple change the query
to this:



SELECT * FROM emailadds WHERE name LIKE '%ben%'


That query would return only 2 records, Ben and Ben Harding.



It's important you use single quotes ('), because double quotes won't work. You can also be very selective
and do:



SELECT * FROM emailadds WHERE name='Ben'


That query would only return Ben, not Fred or Ben Harding, or Dave Geralding.