[Access] 新增一筆資料


阿瑟 發表



STEP1:【前言】
拖了這麼久,終於要講下去了 : )。光是顯示資料還不夠,今天我們來玩點不一樣的,來給您的資料庫增加一些資料吧!

STEP2:【用SQL語法新增】
利用上一篇建立的資料庫,我們這次來試試看新增一筆資料,這是第一種方法:

<%
Set cons = Server.CreateObject("ADODB.Connection")
DBmPath = Server.MapPath("資料庫名稱.mdb")
cons.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBmPath
sql="INSERT INTO 資料表名稱 (name,topic,ip,content,ccdate) values ('阿得','第一篇討論','127.0.0.1','測試第一篇',1999/5/5)"
cons.execute(sql)
cons.close
%>


這個程式是在指定的資料表中新增一筆資料,小弟稍微講解一下:
  • INSERT INTO 資料表名稱, 您只要將資料表名稱換成自己的資料表的名稱就可以了,這段是告訴程式要對這個資料表做動作
  • (name,topic,ip,content,ccdate),這一段是一個Array(陣列),列出所有會更變的欄位名稱(也就是說這裡面每一個都是欄位名稱)
  • values ('阿得','第一篇討論','127.0.0.1','測試第一篇',1999/5/5), 這一段也是一組陣列,是將前面所指定的欄位名稱,每一個欄位都指定一個數值
  • cons.execute(sql), 執行sql中所敘述的動作(在此例中是增加一筆資料,而把各個欄位的指定數值都存入資料庫中)
  • cons.close,關閉程式與資料庫的連結

  • 這個方法比較方便的就是您根本不需要打開資料表,只要將資料庫打開就行了(cons是連結資料庫, rsm是連結資料表),這個方法比較省資源。

    STEP3:【另一種新增方式】
    這個方法對於初學者比較簡單一些 ,程式碼如下:

    <%
    Set cons = Server.CreateObject("ADODB.Connection")
    DBmPath = Server.MapPath("資料庫名稱.mdb")
    cons.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBmPath
    set rsm = Server.CreateObject("ADODB.Recordset")
    sql="Select *From 資料表名稱 order by ccdate desc"
    rsm.Open sql, cons,1, 3

    rsm.addnew
    rsm("name")="阿得"
    rsm("topic")="第一篇討論"
    rsm("ip")=request.servervariables("remote_host")
    rsm("content")="測試第一篇"
    rsm("reply")=0
    rsm("replies")=0
    rsm("click")=0
    rsm("ccdate")=date
    rsm.update
    rsm.close
    cons.close
    %>
    這篇就比較容易瞭解,將資料表打開以後(利用rsm去連結),利用rsm.addnew增加一筆新的資料,然後一個一個去對應欄位的數值,最後rsm.update將新資料存起來,然後關閉資料表(rsm.close),關閉資料庫(cons.close)..這種方法比較上面的方法來說比較耗資源,但是用起來方便多了,不需要知道什麼SQL語法.


    STEP4:【結語】

    如果您用出來沒有什麼問題的話,執行上一次寫的列表程式,應該可以看到新增的資料才是,下一篇小弟會講解如何刪除資料,下次見囉.

    最後更新日期: 6/5/2002 12:47:39 AM