天天看點

ASP連接配接access 資料庫的增删改查 - imsoft.cnblogs

假設資料庫檔案名叫data.mdb

裡面有2個表:

1.admin

2.news

假設admin是儲存使用者名和密碼,裡面有字段:UserName,PassWord.

假設我們要在判斷一個使用者名叫name,密碼是pass的人是否合法,也就是資料庫裡面是否有這個記錄,那麼要進行以下幾步:

1.建立一個連接配接對象,連接配接到資料庫;

2.建立一個記錄對象;

3.用記錄對象通過sql語句對表中的内容進行操作;

4.讀取sql語句的結果并處理;

5.關閉記錄對象,關閉連接配接對象.

第一步代碼:

Dim Conn,DateBase,connstr

DateBase = "/data/data.mdb"

ConnStr = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & Server.MapPath(DateBase)

On Error Resume Next

Set Conn = Server.CreateObject("ADODB.Connection")

Conn.Open Connstr '打開資料庫

If Err Then

Err.Clear

Set Conn = Nothing

Response.Write "資料庫連接配接出錯,請打開conn.asp檔案檢查連接配接字串。"

Response.End

End If

第二步代碼:

Dim Rs

Set Rs=Server.CreateObject("ADODB.RecordSet") '建立一個記錄對象

第三步代碼:

Dim Sql,UserName,PassWord

UserName="name" '給變量指派

PassWord="pass"

Sql="select * from Admin Where Name='" & UserName &"' and PassWord='" & PassWord &"'"

Rs.open Sql,Conn,3,3

當第三步完成後,對資料庫的查詢就成功了,然後就可以讀取sql的結果了:

A.查詢記錄:

If Rs.eof then

response.write "不存在此記錄或者輸入錯誤" '如果到了表的末尾都沒發現,當然就不存在此使用者,或者使用者名不對

else

response.write "存在,使用者名和密碼正确"

end if

B.添加記錄:(比如添加一個名叫pig密碼是dog的記錄)

1.進行第一步

2.進行第二步

3.連接配接到表

Sql="select * from Admin"

4.添加:

Rs.AddNew

Rs("UserName")="pig"

Rs("PassWord")="dog"

Rs.Update

C.修改記錄:(比如把名pig的密碼修改成cat)

3.連接配接到表中名UserName為pig的記錄:

UsersName="pig"

Sql="select * from Admin where UserName='" & UserName & "'"

Rs("PassWord")="cat"

D.删除記錄:(比如删除使用者名為pig的記錄)

3.删除表中名UserName為pig的記錄:

Sql="delete * from Admin where UserName='" & UserName & "'"

Rs.open Sql,Conn,3,3也可以直接寫成:Conn.execute(Sql)

總結:

重點在給Sql指派這一句,他決定你進行什麼操作,相關内容詳情請參考介紹sql語句的書籍,姜波有.

相關結果: 說明

Rs.RecordCount '查詢到的記錄個數

Rs.AddNew '添加新記錄

Rs.Update '更新,用于修改和添加以後

Rs.MoveNext '移動到下一條記錄

Rs.MoveLast '移動到上一條記錄

Rs.open Sql,Conn,1,3 是什麼意思

我們把 1,3 用A ,B來表示

Rs.open Sql,Conn,A,B

A:

ADOPENFORWARDONLY(=0) 隻讀,且目前資料記錄隻能向下移動

ADOPENKEYSET(=1) 隻讀,目前資料記錄可自由移動

ADOPENDYNAMIC(=2) 可讀寫,目前資料記錄可自由移動

ADOPENSTATIC(=3) 可讀寫,目前資料記錄可自由移動,可看到新增記錄

B:

ADLOCKREADONLY(=1) 預設鎖定類型,記錄集是隻讀的,不能修改記錄

ADLOCKPESSIMISTIC(=2) 悲觀鎖定,當修改記錄時,資料提供者将嘗試鎖定記錄以確定成功地編輯記錄。隻要編輯一開始,則立即鎖住記錄。

ADLOCKOPTIMISTIC(=3) 樂觀鎖定 ,直到用Update方法送出更新記錄時才鎖定記錄。

ADLOCKBATCHOPTIMISTIC(=4) 批量樂觀鎖定,允許修改多個記錄,隻有調用UpdateBatch方法後才鎖定記錄。

當不需要改動任何記錄時,應該使用隻讀的記錄集,這樣提供者不用做任何檢測。

對于一般的使用,樂觀的鎖定可能是最好的選擇,因為記錄隻被鎖定一小段時間,

資料在這段時間被更新。這減少了資源的使用。

最後别忘記關閉:

Rs.Close

Set Rs=nothing

Conn.close

Set Conn=nothing