各种数据库连接代码
今天呆着没事干,把各种数据库的连接总结了一下,现拿出来与大家分享:
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的服務目錄.

 

转自:http://hi.baidu.com/fdyzit/blog/item/61051198e546e6006e068c17.html

posted on 2010-07-29 15:29  houbusheng123  阅读(2434)  评论(0编辑  收藏  举报