ASP資料庫程式設計技巧

2021-06-21 16:18:02 字數 2912 閱讀 8214

asp資料庫程式設計技巧

一、 與資料庫建立連線

我們常用的資料庫一般為microsoft access或sql server,為了使用這兩種資料庫,我們通常需要先建立和配置odbc資料來源,但事實上,asp指令碼可以使用old db的其他驅動程式直接把ado繫結到資料庫而不使用odbc作為乙個附加層,請看:

1. 與microsoft access資料庫建立連線

set cnn = server.createobject("adodb.connection")

& "\example.mdb;"

2. 與sql server資料庫建立連線

set cnn = server.createobject("adodb.connection")

strconn = "provider=sqloledb; user id=sa; password=; initial catalog=pubs; data

source=16.62.5.8"

cnn.open strconn

initial catalog後指定資料庫名,data source後為機器名或ip位址。

二、 從asp指令碼中訪問資料庫的兩種方法

1. 通過sql語句來訪問資料庫

1) 若需要返回 recordset 物件引用(如查詢操作)先要建立乙個名為cnn的連線

strqry = "select * from authors"

set rstest = cnn.execute(strqry)

然後可以通過迴圈顯示記錄集rstest中的有關資料。

2) 若不需要返回資料(如增加、修改、刪除操作)

strq = "insert into shippers (companyname, phone) values ('o''conner delivery', '(503)

555-0201')"

cnn.execute strq 

2. 通過recordset物件的open、addnew、delete、update和updatebatch方法訪問資料庫

set rstest = server.createobject("adodb.recordset") '建立recordset物件

rstest.cursorlocation = aduseserver   '使用伺服器端游標

rstest.cursortype = adopenforwardonly '使用僅向前游標型別

rstest.locktype = adlockoptimistic   '開放式記錄鎖定(逐條)

rstest.open "select * from shippers where companyname = 'united package'", cnn, , ,

adcmdtext

' 第五個引數:adcmdtext指示資料來源是乙個sql語句。

rstest("phone") = "(503) 555-8888"

rstest.update

response.write "更新單個記錄 " & objrs("phone") & ".

" 為了更好的理解ado的資料庫程式設計,下面提供乙個完整的例項(northwind.mdb是microsoft access97自帶的乙個資料庫,檔案adovbs.inc可在c:\program files\common files\system\ado下找到):

<% @language = vbscript %>

<%

response.expires = 0

dim strcnn,cnn,objrs, strout, id 

set cnn = server.createobject("adodb.connection")

strcnn="driver=; dbq=" &

cnn.open strcnn

response.write strcnn & "

"  '看看輸出的結果 

set objrs = server.createobject("adodb.recordset")

objrs.cursorlocation = aduseserver

objrs.cursortype = adopenkeyset

objrs.locktype = adlockoptimistic

objrs.open "運貨商", cnn, , , adcmdtable

objrs.addnew 

objrs("公司名稱") = "吳豐"

objrs("**") = "571-7227298" 

objrs.update 

id = objrs("運貨商id")

response.write "新增記錄運貨商id為 "

response.write id & ".

" objrs.close 

objrs.cursorlocation = aduseclient

objrs.cursortype = adopenforwardonly

objrs.locktype = adlockreadonly

objrs.open "運貨商", cnn, , , adcmdtable

%>

下面為顯示資訊部分-運貨商id: 公司名稱 **

<%

while not objrs.eof

strout = objrs("運貨商id") & ": " & objrs("公司名稱")

strout = strout & " " & objrs("**")

response.write server.htmlencode(strout) & "

"objrs.movenext

wend 

objrs.close : cnn.close

set objrs = nothing : set cnn = nothing

%>

SQL Server 資料庫程式設計技巧

簡介 本文主要介紹sql server 資料庫在平常的開發中,可能會涉及到的程式設計技巧,主要包含以下內容 1.解決sql server 不支援127.0.0.1 登入 2.查詢sql server 執行過的sql 語句 3.解決執行作業報錯 sqlserveragent 當前未執行,因此無法將此操...

ASP基礎資料庫

選擇分類 class this.value 所有分類 sql select id,c name,c code from web news class where mn id getvariable mnid order by c code set rsclass conn.execute sql d...

ASP資料庫連線

一 asp的物件訪問資料庫方法 在asp中,用來訪問資料庫的物件統稱ado active data objects 主要含有三種物件 connection recordset command connection 負責開啟或連線資料 recordset 負責訪問資料表 command 負責對資料庫執...