欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

asp连接SQL和Access数据代码(asp里的随机函数)

程序员文章站 2022-08-05 21:47:31
asp连接sql 第一种写法: 复制代码 代码如下: mm_conn_string = "driver={sql server};server=(local);uid=sa...
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 = "jb51" '数据库服务器ip
datauser = "jb51" '访问数据库用户名
databasename = "jb51" '数据库名称
databasepsw = "www.jb51.net" '访问数据库密码
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 = "jb51" '数据库服务器ip
datauser = "jb51" '访问数据库用户名
databasename = "jb51" '数据库名称
databasepsw = "www.jb51.net" '访问数据库密码
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()
%>