各种数据库连接代码

By | 2013年12月23日

各种数据库连接代码
今天呆着没事干,把各种数据库的连接总结了一下,现拿出来与大家分享:
MS Access数据库连接

用DSN连接并且没有用户名和密码:

<%
set conn = Server.CreateObject(“ADODB.Connection”)
conn.open “YourDSNName”
%>

用DSN连接并且有用户名和密码:

<%
set conn = Server.CreateObject(“ADODB.Connection”)
conn.open “YourDSNName”,”username”,”password”
%>

用实际的数据库绝对路径连接:

<%
Set conn = Server.CreateObject(“ADODB.Connection”)
Strconn=”DRIVER={Microsoft Access Driver (*.mdb)}; ”
Strconn=Strconn & “DBQ=e:\yanhang\database.mdb”
conn.Open Strconn
%>

用实际的数据库相对路径连接:

<%
Set conn = Server.CreateObject(“ADODB.Connection”)
Strconn=”DRIVER={Microsoft Access Driver (*.mdb)}; ”
Strconn=Strconn & “DBQ=” & Server.MapPath(“/database/yanhang.mdb”)
conn.Open Strconn
%>
MS SQL Server数据库连接

用DSN连接:

<%
set conn = Server.CreateObject(“ADODB.Connection”)
conn.open “DSN=MyDSN;UID=user;PWD=password;DATABASE=databasename”
%>

不用DSN连接:

<%
Set conn = Server.CreateObject(“ADODB.Connection”)
DSNtemp=”DRIVER={SQL Server};SERVER=ServerName;UID=USER;PWD=password;DATABASE=databasename”
conn.open DSNtemp
%>
FoxPro数据库连接

<%
Set Conn = Server.CreateObject(“ADODB.connection”)
ConnStr= “Driver=Microsoft Visual Foxpro Driver; UID=userID;SourceType=DBC;SourceDB=C:\yanhang\database.dbc”
Conn.Open ConnStr
%>
Oracle数据库连接:

<%
set conn=server.createobject(“adodb.connection”)
conn.cursorlocation=adUseClient
DSNTemp=”Provider=MSDAORA.1;Password=xxxxx;User ID=yanhang;Data Source=xxx.world”
conn.open DSNtemp
%>
<%
‘本段代码只做讲解,不能运行,如果想把它运用到实际,请结合您的具体情况修改并调试。
‘以下为连接数据库
dim dbconnection,rsexample,strconnect,strsql
strconnect = “your connection string”
set rsexample = server.createobject(“adodb.recordset”)
dbconnectoin.open strconnect
strsql = “your sql string”
‘设置当前页码、每页显示记录个数
dim curpage,pagesize,numpages
pagesize = 10?????????????????????? ‘每页显示记录的个数
‘接收用户提交的页码值,将其值给curpage变量,作为当前页码。
if request.querystring(“page”) <> ”” then
curpage = cint(request.querystring(“page”)
else
curpage = 1
end if

 

‘打开记录集,给rsexample对象的pagesize附值、读取pagecount属性的值并保存到numpage变量中
‘将数据库指针移动到相应的数据位置

rsexample.open strsql,dbconnection,1,1
‘以下是分页的关键
‘首先,我们先设置每一页所包含的记录数量
rsexample.pagesize = pagesize
‘其次,我们获取分页后所有页数。
‘注意:pagecount属性必须在指定了pagesize属性后才能使用。
numpages = rsexample.pagecount
‘判断指针是否到了最后一页
if curpage > numpages then curpage = numpages
‘将记录集中的指针移动到当前页码上。
rsexample.absolutepage = curpage

‘下面说说pagesize,pagecount,absolutepage属性
‘pagesize属性:设置或返回记录集中每一页所包含的记录数量。
‘pagecount属性:对记录进行分页后,pagecount属性用来表示将记录集中的记录分为多少页。
‘absolutepage属性:设置或返回当前记录在recordset对象中的序号位置。

 

‘显示数据,这里我使用的是do while方法
‘这里还可以使用其它的方法,如getstring、getrows
dim a
a=0
do while not rsexample.eof and a < pagesize
response.write rs(“yourfield”)&”<br>”
rsexample.movenext
a = a + 1
loop

 

‘页码显示
if curpage > 1 then
response.write “<a href=””paging.asp?page=”&(curpage-1)&”””>上一页</a><br>”
end if
if curpage < numpages then
response.write “<a href=””paging.asp?page=”&(curpage+1)&”””>下一页</a>”
end if

 

‘关闭记录集和数据库连结
rsexample.close
dbconnection.close
set rsexample = nothing
set dbconnection = nothing
%>

 

 

创建sql查询测试页(Access)
当我们想要测试我们的数据库时,有什么好的办法,作一个asp页面?当然不用你自己动手,用这个sql查询测试程序吧。只要你输入一条sql语句和数据库的相对地址,你就可以看到数据库中的信息,怎么样,方便吧!
以下程序在我本机上测试成功
<% Response.Buffer=True %>
<%
dim RS
Set RS = Server.CreateObject(“ADODB.Recordset”)

dim datasource

sql = Request.Form(“sql”) ‘SQL语句
datasource = Request.Form(“datasource”) ‘Access数据库相对地址

if datasource<>”” then
dim conn,strconn
set conn=server.createobject(“adodb.connection”)
strconn=”Provider=Microsoft.Jet.OLEDB.4.0; Data Source=” & Server.MapPath(datasource)
conn.open strconn
end if
%>
<html>
<head>
<title>SQL测试</title>
<style>
TD {font-size: smaller }
</style>
</head>
<body bgcolor=”#cecece”>

<form action=”sqltest.asp” method=POST>
<table border=0 cellspacing=0>
<tr>
<td>
<b>SQL语句</b>
</td>
</tr>

<tr>
<td>
<textarea name=”sql” rows=”8″ cols=”50″ wrap=soft><%=sql%></textarea>
</td>
</tr>

<tr>
<td colspan=2>
请输入数据库相对位置:
<INPUT TYPE=”text” NAME=”datasource” value=”<%=datasource%>”>
</td>
</tr>
</table>

<input type=submit>
</form>

<%
Response.Flush
%>

<%
if sql <> “” then ‘ 执行sql语句
RS.Open sql, conn,1,1
Response.Write(“<table border=1 cellspacing=0>”)
if RS.State = 1 then
Response.Write(“<tr bgcolor=LightSteelBlue>”)

for each f in RS.Fields
Response.Write(“<td><b>” & f.Name & “</b></td>”)
next

Response.Write(“</tr>”)

do while not RS.EOF
Response.Write(“<tr bgcolor=White>”)

for each f in RS.Fields
Response.Write(“<td valign=’top’>” & f.Value & “</td>”)
next

Response.Write(“</tr>”)

RS.MoveNext
loop
else
Response.Write(“<tr bgcolor=White><td><b>”)
Response.Write(“Command Completed Successfully</b>”)
Response.Write(“</td></tr>”)
end if

Response.Write(“</table>”)
end if
%>

<%
Set RS = Nothing
%>
</body>
</html>
关于access数据库表改名的一段代码,希望对大家有用
<%
Call RenameTable(“Provider=Microsoft.Jet.OLEDB.4.0; Data
Source=c:\example.mdb”, “test”, “changed”)

Sub RenameTable (conStr, oldName, newName)
‘Has to be OLE DB connection
‘Create object and connect to DB…
Dim objADOXDatabase
Set objADOXDatabase = Server.CreateObject(“ADOX.Catalog”)
objADOXDatabase.ActiveConnection = conStr

‘Change the name…
objADOXDatabase.Tables(oldName).Name = newName

‘Clean up…
Set objADOXDatabase = Nothing
End Sub
%>
用asp与数据库连接
——————————————————————————–

与ACCESS连接:

<%connstr=”dbq=”+server.mappath(“数据库名“)+”;defaultdir=;drive={microsoft access drive

(*.mdb)};”

set conn connstr

set sr=server.createobject(“adodb.recordset”)

sql=”select * from 表名 order by id”

rs.open sql,conn,1

%>

与SQL连接:

<%set conn=server.createobject(“adodb.connection”)

conn.connectionstring=”provider=sqloledb;password=;user id=sa;daabase=数据库;data

source=ip地址”

conn.open

sql=”select * from 表名”

set rs=server.createobject(“adodb.recordset”)

rs.open sql,conn,3,1

%>

 

ASP与?据?,文本文件?接精髓

一,与SQL?接(通咿ODBC):

1.先通咿控制面板中的韵置ODBC源韵置好要呗接的SQL?据?,呗接成功后得到一?名费 SQL SEVER,如ZOU

2.然后用??器(如?事本),加入

<%

set DBconn=server.createobject(“ADODB.CONNECTION”)

DBconn.open “服?器名”, “用?名”, ”密瘁”//如果韵置密瘁的??要?入,否?只要DBconn.open “服?器名”(呃里指通咿ODBC?接?生的名费,如上面的ZOU.)

Sqlcmd=”select * from 表名 “(呃里的表名指?据?中的表名费)

Set rs=DBconn.execute(sqlcmd)?? //?据?中所指定的表中的所有?据都在 rs 中.

……………..

rs.close

DBconn.close

%>

二,与SQL7.0直接呗接,不需要韵置ODBC源:

用文本??器??以下?容:

<%

set DBconn=sever.createobject(“ADODB.CONNECTION”)

connstr=”Provider=SQLOLEDB.1;server=zou;UID=用?名;PWD=密瘁;database=?据?名 “

DBconn.open connstr

sqlcmd=”select * from ?据?中的表名” //?你要?行的SQL指令;

set?? rs=DBconn.execute(sqlcmd)?? //?据?中的??全部在RS中

………….

Rs.close

DBconn.close

%>

三,通咿ODBC源呗接ACCESS?据?:

1,通咿控制面板中的”ODBC源”韵置好ACCESS的ODBC名.

2.用文本??器?入:

<%

set dbconn=server.create(“adodb.connection”)

dbconn.open “access的odbc名”

sqlcmd=”select * from 表名”

set rs=dbconn.execute(sqlcmd)

………

rs.close

dbconn.close

%>

四,直接与ACCESS?据??接:

<%

set dbconn=server.createobject(“ADODB.CONNECTION”)

connstr=”Driver={Microsoft Access Driver (*.mdb)};DBQ=”& Server.MapPath(“存放?据?的路?”) & “\?据?名;” (eg:connstr=”Driver={Microsoft Access Driver(*.mdb)};DBQ=”& Server.MapPath(“\666”) &?http://www.mdb;/

dbconn.open connstr

sqlcmd=”select * from 表名”//?你想要?行的SQL指令

set rs=conn.execute(sqlcmd)?? //表中的?据就在rs 中啦

…………………

rs.close

dbconn.close

%>

 

五,?接Text文件

<%

set DBconn=server.createobject(“ADODB.CONNECTION”)

connstr=”Driver={Microsoft Text Driver(*.txt;*.csv)};DBQ=”& Server.MapPath(“文本文件路?”)

DBconn.open connstr

Sqlcmd=”….”

………..

DBconn.close

%>

六,?接Excel 2000:

<%

set dbconn=server.createobject(“ADODB.Connection”)

connstr=”Driver={Microsoft Excel Driver(*.xls)};DBQ=” & server.MapPath(“路?名/文件名”)

dbconn.open connstr

sqlcmd=”…..”

set rs=dbconn.execute(sqlcmd)

……….

Rs.close

Dbconn.close

%>

真明:以上ASP与?据之殓的?接采用的是asp(active server page)的默帐倪本解?遮言(VBSCRIPT),同?在用?端安砚PWS(windows 98),IIS(windows 2000)或者直接在服?器上咝鞋?有注意放置的目?以及PWS//IIS的服?目?.

发表回复