asp連接SQL和Access資料程式碼,asp裡的隨機函數,需要的朋友可以參考下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.vevb.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 = jb51 '資料庫伺服器IP
DataUser = jb51 '存取資料庫使用者名
DataBaseName = jb51 '資料庫名稱
DataBasePsw = www.vevb.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()
%>