asp连接sql
第一种写法:
复制代码代码如下:
MM_conn_STRING = "Driver={SQL Server};server=(local);uid=sa;pwd=;database=infs;"
Set conn = Server.Createobject("ADODB.Connection")
conn.open MM_conn_STRING
SET RS=SERVER.CreateObject("ADOBD.recordset")
SQL="SELECT * FROM TABLE ORDER BY ID DESC"
RS.open SQL,CONN,3,3
常用的函数代码:
复制代码代码如下:
DataServer = "zzvips" '数据库服务器IP
DataUser = "zzvips" '访问数据库用户名
DataBaseName = "zzvips" '数据库名称
DataBasePsw = "www.zzvips.com" '访问数据库密码
Set conn = Server.CreateObject("ADODB.Connection")
ConnStr="driver={SQL Server};server="&dataserver&";UID="&datauser&";PWD="&databasepsw&";Database="&databasename
conn.open ConnStr
If Err Then Err.Clear:Set conn = Nothing:Response.Write "数据库连接出错,请检查Conn.asp文件中的数据库参数设置。":Response.End
使用ASP连接MS SQL数据库,标准的连接,常用的多的是下面这种连接字符串:
复制代码代码如下:
CONN.OPEN "Provider=SQLOLEDB.1;"&_
"Password='"&pass_word&"';"&_
"Persist Security Info=true;"&_
"User ID='"&User_ID&"';"&_
"Initial Catalog='"&db&"';"&_
"Data Source='"&Data_Source&"';"&_
"CONNect Timeout="&cntimeout&""
描述:
Provider=SQLOLEDB.1;数据库提供者,后面的 1 是表示版本信息,如果没有就会完全使用当前最新版功能
User ID=SQL帐号,数据库的帐号
Password=SQL帐号密码,数据库的帐号密码
Initial Catalog=数据库名字(只有名字,而ACCESS的是具体带路径的数据文件)
Data Source=数据源,SQL服务器名或其IP,通常用IP
上五个参数缺一不可
关于Data Source:
如果 IIS 和 SQL 同一台服务器,则 使用安装 IIS的 IP 或 主机名HostName 或 (local)
例如:
//Data Source=(Local) '' IIS 与 SQL 一起则第一选择它!
//Data Source=212.100.1.12
//Data Source=LSS
如果 SQLserver 是在另外的机器上,比如你连接到我机器上的的 SQLserver ,就用我机器的 IP
//Data Source=208.190.21.112 '我的SQL server IP
CONNect Timeout=连接超时,是整数,缺省是30秒,可以不用
Persist Security Info= true or false 可以不用
理解SQL和ACCESS的区别:
ACCESS是文件型的数据库,一个数据库就是一个具体的 MDB文件,所以ACCESS的连接需要给出具体的数据库路径 Data Source='c:\www\mdb\aaa.mdb'
而Server.mappath(aaa.mdb)即是将aaa.mdb 映射为 c:\www\mdb\aaa.mdb
SQLserver是S/C 客户端/服务器方式,与ACCESS完全不一样,所以访问SQL 2000的数据库需要建立客户端和服务器端的连接,注意这个客户端是针对 SQL数据库服务器来说的
服务器端的脚本 对 SQLserver 来说也是“客户端应用程序”。
SQL的数据库物理上也是一个.MDF数据文件,但这与MDB是天壤之别的,SQL的MDF 可以说是一个数据库的集合,里面包括了很多个数据库(里面的每个数据库有一个名字,每个数据库有相应的拥有者SchMa),而ACCESS的MDB是一个文件就是一个数据库。
故访问SQL 数据库要指定其服务器IP 数据库帐号密码 数据库名(当然无路径可言)
而访问 ACCESS 只要访问 ACCESS的文件就行了。
现在要做的是,进入企业管理器,建立一个数据库(比如为AAA),在数据库中,建立添加数据库用户和密码,然后就可以用上面的连接字符串来连接了!
//第二种写法:(DSN连接)
MM_conn_STRING="DSN=BBS;UID=SA;PWD=12345"
Set conn = Server.Createobject("ADODB.Connection")
conn.open MM_conn_STRING
SET RS=SERVER.CreateObject("ADOBD.recordset")
SQL="SELECT * FROM TABLE ORDER BY ID DESC"
RS.open SQL,CONN,3,3 // 3,3是修改、删除、增加开关!
//第三种写法:
MM_conn_STRING_own = "Driver={SQL Server};server=(local);uid=sa;pwd=11111;database=infs;"
Set conn = Server.Createobject("ADODB.Connection")
conn.open MM_conn_STRING_own
//第四种 - 这种方法用在ACCESS中
strconn = "DRIVER=Microsoft Access Driver (*.mdb);DBQ=" _
& Server.MapPath("asp.mdb")
set conn = server.createobject("adodb.connection")
conn.open strconn
我们常用的sqlserver与access都可以用的函数
复制代码代码如下:
<%
Const DataBaseType=1
If DataBaseType=0 then
DBPath="/data/news.mdb" //mdb数据库路径
Else
'如果是SQL数据库,请认真修改好以下数据库选项
DataServer = "zzvips" '数据库服务器IP
DataUser = "zzvips" '访问数据库用户名
DataBaseName = "zzvips" '数据库名称
DataBasePsw = "www.zzvips.com" '访问数据库密码
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
%>
连接MSSQL代码(附加判断代码):
复制代码代码如下:
<%
dim cn
set cn=server.createobject("adodb.connection")
cn.connectionstring="driver={SQL server};server=taihang;datebase=taihang;uid=sa;pwd=hacker"
cn.open
If cn.state=1 Then
response.write"数据库连接对象已打开"
Else
response.write"数据库连接对象未打开"
end If
cn.close
Set cn=nothing
%>
连接Access常用方法:
复制代码代码如下:
Dim conn,strDataPath,connStr
set conn=server.createobject("ADODB.connection") '//定义数据库连接对象
strDataPath=server.MapPath("example.mdb") '//数据库路径字符串
connStr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDataPath '//数据库连接
conn.open connStr
也可以用:
复制代码代码如下:
Dim conn,strDataPath,connStr
set conn=server.createobject("ADODB.connection") '//定义数据库连接对象
strDataPath=server.MapPath("example.mdb") '//数据库路径字符串
connStr="driver={Microsoft Access Driver (*.mdb)};dbq=" & strDataPath '//数据库连接
conn.Open connStr
注解:
因为我们想打开的是Access(.mdb)数据库,所以我们要透过Access的ODBC驱动程序{Microsoft Access Driver (*.mdb)}来存取数据库,dbp参数则是用来指定想打开的数据库文件,因为它必须是完整路径名称,所以我们上一语句用了Server.MapPath 函数 。
上面常用方法中一般为简洁起见也可一用下面一句
conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath ("/") & "xxx.mdb"
水寒意见>>
一般直接使用 Microsoft.Jet.OLEDB.4.0 一层接口:
adoConnection.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath ("/") & "xxx.mdb"
避免使用 Microsoft OLEDB Provider for ODBC Drivers + Microsoft Access Driver (*.mdb)(Access 的 ODBC Driver)两层接口:
adoConnection.open "PROVIDER=MSDASQL.1;Driver=Microsoft Access Driver(*.mdb);DBQ=" & Server.MapPath ("/") & xxx.mdb"
ACCESS数据库连接代码(一)
复制代码代码如下:
<%
Set con = Server.CreateObject("ADODB.Connection")
con.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("数据库文件路径")
%>
ACCESS数据库连接代码(二)
复制代码代码如下:
<%
dim conn,cqie
conn="provider=microsoft.jet.oledb.4.0;data source=" & server.MapPath("数据库文件路径")
set cqie=server.createobject("adodb.connection")
cqie.open conn
%>
asp里的简单随机函数
复制代码代码如下:
<%
dim a,b,c
a=1310:b=9215
randomize
c=int((b-a+1)*rnd+a)
%>
取出上次登陆时间记录本次登陆时间
复制代码代码如下:
<%
session("onetime")=rs("上次登陆时间")
session.timeout=30
rs("上次登陆时间")=now()
%>