乘风原创程序

  • ASP连接Access数据库的几种方法
  • 2020/9/4 23:46:38
  • 1. 相对与比较老的环境,建议使用第二个

    set dbconnection=Server.CREATEOBJECT("ADODB.CONNECTION") 
    DBPath = Server.MapPath("customer.mdb") 
    dbconnection.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath 
    SQL="select * from auth where id='" & user_id &"'" 
    SET uplist=dbconnection.EXECUTE(SQL) 

    2.win2003以上的机器,建议用此方法,效率更高

    set dbconnection=Server.CreateObject("ADODB.Connection") 
    DBPath = Server.MapPath("customer.mdb") 
    dbconnection.Open "provider=microsoft.jet.oledb.4.0;data source="&dbpath 
    SQL="select * from auth where id='" & user_id &"'" 
    SET uplist=dbconnection.EXECUTE(SQL) 

    3.

    DBPath = Server.MapPath("customer.mdb") 
    set session("rs")=Server.CreateObject("ADODB.Recordset") 
    ' rs=Server.CreateObject("ADODB.Recordset") 
    connstr="provider=microsoft.jet.oledb.4.0;data source="&dbpath 
    SQL="select * from auth where id='" & user_id &"'" 
    session("rs").Open sql,connstr,1,3 

    4. 建odbc源xxx

    set conn=server.createobject("Adodb.connection") 
    conn.open "DSN=xxx;UID=;PWD=;Database=customer 

    5、附上一个经常用的sqlserver与access通用的连接数据库代码

    <% 
    Const DataBaseType=1 
    If DataBaseType=0 then 
    DBPath="/jb51/news.asp" 
    SqlNowString = "Now()" 
    ystr=true 
    nstr=false 
    suiji="rnd(id)" 
    Else 
    '如果是SQL数据库,请认真修改好以下数据库选项 
    DataServer = "wwwjb51net" '数据库服务器IP 
    DataUser = "jb51net" '访问数据库用户名 
    DataBaseName = "jb51net" '数据库名称 
    DataBasePsw = "密码" '访问数据库密码 
    SqlNowString = "getdate()" 
    ystr=1 
    nstr=0 
    suiji="newid()" 
    End if 
    On Error Resume Next 
    If DataBaseType = 1 Then 
    ConnStr="driver={SQL Server};server="&dataserver&";UID="&datauser&";PWD="&databasepsw&";Database="&databasename 
    Else 
    ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(DBPath) 
    End If 
    Set conn = Server.CreateObject("ADODB.Connection") 
    conn.open ConnStr 
    If Err Then Err.Clear:Set conn = Nothing:Response.Write "数据库连接出错,请检查Conn.asp文件中的数据库参数设置。":Response.End 
    %> 

    完整测试代码

    Microsoft Access Driver

    <%
    db="1.mdb"
    dim conn,db 
    dim connstr 
    on error resume next 
    connstr="DBQ="+server.mappath(""&db&"")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};" 
    set conn=server.createobject("ADODB.CONNECTION") 
    if err then 
    err.clear 
    else 
    conn.open connstr 
    end if 
    
    t=timer()
    for i=0 to 1000
    	Set Res=Conn.Execute("select (Select top 1 name from [aa] where id=1) as oldname,(Select top 1 name from [aa] where id=2) as newname from [aa]")
    	aa=Res("oldname")
    	bb=Res("newname")
    	Res.close
    	set Res=nothing
    next
    response.write "用时:"&(timer()-t)
    %> 

    microsoft.jet.oledb.4.0

    <%
    db="1.mdb"
    dim conn,db 
    dim connstr 
    on error resume next 
    connstr="provider=microsoft.jet.oledb.4.0;data source="+server.mappath(""&db&"")
    set conn=server.createobject("ADODB.CONNECTION") 
    if err then 
    err.clear 
    else 
    conn.open connstr 
    end if 
    
    t=timer()
    for i=0 to 1000
    	Set Res=Conn.Execute("select (Select top 1 name from [aa] where id=1) as oldname,(Select top 1 name from [aa] where id=2) as newname from [aa]")
    	aa=Res("oldname")
    	bb=Res("newname")
    	Res.close
    	set Res=nothing
    next
    response.write "用时:"&(timer()-t)
    %>