连接数据库查询手册(不仅仅适用于asp)


下面将简单介绍一下几种ADO连接方式:ODBC DSN,ODBC DSN-Less,
OLE DB Provider,和"MS Remote" Provider.
1。ODBC DSN连接
I.DSN
    oConn.Open "DSN=AdvWorks;" & _
        "UID=Admin;" & _
        "PWD=;"
注意:从MDAC2.1开始就不能够在使用这样的方式了,就是只把DSN文件名放在ConnectString中
      你必须同时使用DSN,UID,PWD标志。例如下面的方式在MDAC 2.1中将会出错:
    oConn.Open "AdvWorks"



II.File DSN
    oConn.Open "FILEDSN=/somepath/mydb.dsn;" & _
        "UID=Admin;" & _
        "PWD=;"
III.ODBC DSN-Less Connections
a)ODBC Text Driver
    oConn.Open _
        "Driver={Microsoft Text Driver (*.txt; *.csv)};" & _
        "Dbq=/somepath/;" & _
        "Extensions=asc,csv,tab,txt;" & _
        "Persist Security Info=False"
注意:需要在SQL语句中指定使用到的文件名。例如:
    oRs.Open "Select * From customer.csv", _
        oConn, adOpenStatic, adLockReadOnly, adCmdText
b)ODBC Driver for Access
    i)普通安全模式:
        oConn.Open _
            "Driver={Microsoft Access Driver (*.mdb)};" & _
            "Dbq=/somepath/mydb.mdb;" & _
            "Uid=Admin;" & _
            "Pwd=;"
    ii)如果使用了System database:
        oConn.Open _
            "Driver={Microsoft Access Driver (*.mdb)};" & _
            "Dbq=/somepath/mydb.mdb;" & _
            "SystemDB=/somepath/mydb.mdw;", _
            "admin", ""
c)ODBC Driver for SQL Server
    i)普通安全模式
        oConn.Open "Driver={SQL Server};" & _
            "Server=carl2;" & _
            "Database=pubs;" & _
            "Uid=sa;" & _
            "Pwd=;"
    ii)使用信任安全模式:
        oConn.Open "Driver={SQL Server};" & _
            "Server=carl2;" & _
            "Database=pubs;" & _
            "Uid=;" & _
            "Pwd=;"
    注意:要使用空白的Uid和Pwd         
d)ODBC Driver for Oracle
    i)使用现有的Oracle ODBC Driver from Microsoft:
        oConn.Open _
            "Driver={Microsoft ODBC for Oracle};" & _
            "Server=OracleServer.world;" & _
            "Uid=demo;" & _
            "Pwd=demo;"
    ii)使用老版本的Oracle ODBC Driver from Microsoft:
        oConn.Open _
            "Driver={Microsoft ODBC Driver for Oracle};" & _
            "ConnectString=OracleServer.world;" & _
            "Uid=demo;" & _
            "Pwd=demo;"
IIII)使用微软的OLE DB Data Link Connections方式Data Link File (UDL)
a)使用绝对路径
    oConn.Open "File Name=/somepath/pubs.udl;"
b)使用相对路径
    oConn.Open "File Name=pubs.udl;"
V)OLE DB Provider Connections方式
a)OLE DB Provider for ODBC Databases
    i)Access (Jet):
        oConn.Open _
            "Provider=MSDASQL;" & _
            "Driver={Microsoft Access Driver (*.mdb)};" & _
            "Dbq=/somepath/mydb.mdb;" & _
            "Uid=Admin;" & _
            "Pwd=;"
    ii)SQL Server:
        oConn.Open _
            "Provider=MSDASQL;" & _ 
            "Driver={SQL Server};" & _
            "Server=carl2;" & _
            "Database=pubs;" & _
            "Uid=sa;" & _
            "Pwd=;"
b)OLE DB Provider for Microsoft Jet  (Access)
    i)普通安全模式:
        oConn.Open _
            "Provider=Microsoft.Jet.OLEDB.4.0;" & _
            "Data Source=/somepath/mydb.mdb;" & _
            "User Id=admin;" & _
            "Password=;"
    ii)如果使用了System database:
        oConn.Open _
            "Provider=Microsoft.Jet.OLEDB.4.0;" & _
            "Data Source=/somepath/mydb.mdb;" & _
            "Jet OLEDB:System Database=system.mdw;", _
            "admin", ""
    注意:当使用OLE DB Provider4.0版本是,需要把MDB和MDW文件转换成4.0的数据库格式
    iii)如果MDB需要一个数据库密码的话:
        oConn.Open _
            "Provider=Microsoft.Jet.OLEDB.4.0;" & _
            "Data Source=/somepath/mydb.mdb;" & _
            "Jet OLEDB:Database Password=MyDbPassword;", _
            "admin", ""
c)OLE DB Provider for Excel Spreadsheet:
        oConn.Open _
            "Provider=Microsoft.Jet.OLEDB.4.0;" & _
            "Data Source=/somepath/expenses.xls;" & _
            "Extended Properties=""Excel 8.0;HDR=Yes;"";"
    注意: "HDR=Yes"表示在第一行中是行标题,在provider中将不把第一行包括入recordset中
d)OLE DB Provider for SQL Server
    i)普通安全模式:
        oConn.Open "Provider=sqloledb;" & _
            "Network Library=DBMSSOCN;" & _
            "Data Source=carl2;" & _
            "Initial Catalog=pubs;" & _
            "User Id=sa;" & _
            "Password=;"
    ii)使用信任安全模式:
        oConn.Open "Provider=sqloledb;" & _
            Network Library=DBMSSOCN;" & _
            "Data Source=carl2;" & _
            "Initial Catalog=pubs;" & _
            "Trusted_Connection=yes;"
    注意:"Network Library=DBMSSOCN"声明OLE DB使用TCP/IP替代Named Pipes.
e)OLE DB Provider for Oracle
    oConn.Open "Provider=msdaora;" & _
        "Data Source=OracleServer.world;" & _
        "User Id=sa;" & _
        "Password=;"
(VI)Remote OLE DB Provider Connections方式(就是我一直在研究的RDS方式哦,呵呵。):
a)MS Remote - Access (Jet)
    i)ODBC DSN:
        oConn.Open "Remote Server=http://carl2;" & _
            "Remote Provider=MSDASQL;" & _
            "DSN=AdvWorks;" & _
            "Uid=admin" & _
            "Pwd=;"
    ii)OLE DB Provider:
        oConn.Open "Provider=MS Remote;" & _
            "Remote Server=http://carl2;" & _
            "Remote Provider=Microsoft.Jet.OLEDB.4.0;" & _
            "Data Source=/somepath/mydb.mdb;", _
            "admin", ""
    iii)OLE DB Provider自定义事务对象
        oConn.Open "Provider=MS Remote;" & _
            "Remote Server=http://carl2;" & _
            "Handler=MSDFMAP.Handler;" & _
            "Data Source=MyAdvworksOLEDBConnectTag;"
b)MS Remote - SQL Server
    i)ODBC DSN:
        oConn.Open "Remote Server=http://carl2;" & _
            "Remote Provider=MSDASQL;" & _
            "Network Library=DBMSSOCN;" & _
            "DSN=Pubs;" & _
            "Uid=sa" & _
            "Pwd=;"
    ii)OLE DB Provider
        oConn.Open "Provider=MS Remote;" & _
            "Remote Server=http://carl2;" & _
            "Remote Provider=SQLOLEDB;" & _
            "Network Library=DBMSSOCN;" & _
            "Data Source=carl2;" & _
            "Initial Catalog=pubs;" & _
            "User ID=sa;" & _
            "Password=;"





阅读终点,创作起航,您可以撰写心得或摘录文章要点写篇博文。去创作
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
下面是ASP连接数据库进行注册和登录的示例代码: 1. 注册页面(register.asp) ``` <% Dim cn,rs '连接数据库 Set cn=Server.CreateObject("ADODB.Connection") cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("mydb.mdb") '如果用户提交了注册表单 If Request.Form("submit")<>"" Then '查询用户名是否已存在 Set rs=Server.CreateObject("ADODB.Recordset") rs.Open "SELECT * FROM users WHERE username='" & Request.Form("username") & "'",cn,1,3 If Not rs.EOF Then '用户名已存在,提示用户重新输入 Response.Write "该用户名已被注册,请重新输入!" Else '插入用户信息到数据库 rs.AddNew rs("username")=Request.Form("username") rs("password")=Request.Form("password") rs.Update Response.Write "注册成功!" End If rs.Close End If cn.Close Set cn=Nothing %> <form method="post" action="register.asp"> 用户名:<input type="text" name="username"><br> 密码:<input type="password" name="password"><br> <input type="submit" name="submit" value="注册"> </form> ``` 2. 登录页面(login.asp) ``` <% Dim cn,rs '连接数据库 Set cn=Server.CreateObject("ADODB.Connection") cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("mydb.mdb") '如果用户提交了登录表单 If Request.Form("submit")<>"" Then '查询用户名和密码是否匹配 Set rs=Server.CreateObject("ADODB.Recordset") rs.Open "SELECT * FROM users WHERE username='" & Request.Form("username") & "' AND password='" & Request.Form("password") & "'",cn,1,3 If rs.EOF Then '用户名或密码不正确,提示用户重新输入 Response.Write "用户名或密码不正确,请重新输入!" Else '登录成功,跳转到用户主页 Response.Redirect "user.asp?username=" & Request.Form("username") End If rs.Close End If cn.Close Set cn=Nothing %> <form method="post" action="login.asp"> 用户名:<input type="text" name="username"><br> 密码:<input type="password" name="password"><br> <input type="submit" name="submit" value="登录"> </form> ``` 3. 用户主页(user.asp) ``` <% Dim username username=Request.QueryString("username") '输出欢迎信息 Response.Write "欢迎您," & username & "!" %> ``` 在上面的代码中,我们使用了ADODB对象来连接数据库,并执行了基本的查询和插入操作。需要注意的是,这里使用了Microsoft Jet OLEDB 4.0提供程序来连接Access数据库,如果你使用的是其他类型的数据库,需要根据其提供的连接字符串进行修改。此外,为了避免SQL注入攻击,我们在查询用户名和密码时使用了参数化查询

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蝈蝈俊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值