精華文章:ASP中SQL語句參考及記錄集對象

來源:互聯網
上載者:User
sql|參考|對象|記錄集|精華|語句    1. ASP與Access資料庫連接:
  
  <%@ language=VBscript%>
  <%
  dim conn,mdbfile
  mdbfile=server.mappath("資料庫名稱.mdb")
  set conn=server.createobject("adodb.connection")
  conn.open "driver={microsoft access driver (*.mdb)};uid=admin;pwd=資料庫密碼;dbq="&mdbfile
  
  %>
  
   2. ASP與SQL資料庫連接:
  
  <%@ language=VBscript%>
  <%
  dim conn
  set conn=server.createobject("ADODB.connection")
  con.open "PROVIDER=SQLOLEDB;DATA SOURCE=SQL伺服器名稱或IP地址;UID=sa;PWD=資料庫密碼;DATABASE=資料庫名稱
  %>
  
  建立記錄集對象:
  
  set rs=server.createobject("adodb.recordset")
  rs.open SQL語句,conn,3,2
  
   3. SQL常用命令使用方法:
  
  (1) 資料記錄篩選:
  
  sql="select * from 資料表 where 欄位名=欄位值 order by 欄位名 "
  
  sql="select * from 資料表 where 欄位名 like ′%欄位值%′ order by 欄位名 "
  
  sql="select top 10 * from 資料表 where 欄位名 order by 欄位名 "
    
  sql="select * from 資料表 where 欄位名 in (′值1′,′值2′,′值3′)"
  
  sql="select * from 資料表 where 欄位名 between 值1 and 值2"
    
  (2) 更新資料記錄:

  sql="update 資料表 set 欄位名=欄位值 where 條件運算式"

  sql="update 資料表 set 欄位1=值1,欄位2=值2 …… 欄位n=值n where 條件運算式"
  
  (3) 刪除資料記錄:
  
  sql="delete from 資料表 where 條件運算式"
  
  sql="delete from 資料表" (將資料表所有記錄刪除)
  
  (4) 添加資料記錄:
  
  sql="insert into 資料表 (欄位1,欄位2,欄位3 …) values (值1,值2,值3 …)"

  sql="insert into 目標資料表 select * from 來源資料表" (把來源資料表的記錄添加到目標資料表)
  
  (5) 資料記錄統計函數:
  
  AVG(欄位名) 得出一個表格欄平均值
  COUNT(*|欄位名) 對資料行數的統計或對某一欄有值的資料行數統計
  MAX(欄位名) 取得一個表格欄最大的值
  MIN(欄位名) 取得一個表格欄最小的值
  SUM(欄位名) 把資料欄的值相加
  
  引用以上函數的方法:
  
  sql="select sum(欄位名) as 別名 from 資料表 where 條件運算式"
  set rs=conn.excute(sql)
  
  用 rs("別名") 擷取統的計值,其它函數運用同上。
  
  (5) 資料表的建立和刪除:
  
  CREATE TABLE 資料表名稱(欄位1 類型1(長度),欄位2 類型2(長度) …… )
  
  例:CREATE TABLE tab01(name varchar(50),datetime default now())
  
  DROP TABLE 資料表名稱 (永久性刪除一個資料表)
  
  4. 記錄集對象的方法:
  
  rs.movenext 將記錄指標從當前的位置向下移一行
  rs.moveprevious 將記錄指標從當前的位置向上移一行
  rs.movefirst 將記錄指標移到資料表第一行
  rs.movelast 將記錄指標移到資料表最後一行
  rs.absoluteposition=N 將記錄指標移到資料表第N行
  rs.absolutepage=N 將記錄指標移到第N頁的第一行
  rs.pagesize=N 設定每頁為N條記錄
  rs.pagecount 根據 pagesize 的設定返回總頁數
  rs.recordcount 返回記錄總數

  rs.bof 返回記錄指標是否超出資料表首端,true表示是,false為否
  rs.eof 返回記錄指標是否超出資料表末端,true表示是,false為否
  rs.delete 刪除目前記錄,但記錄指標不會向下移動
  rs.addnew 添加記錄到資料表末端
  rs.update 更新資料表記錄
  
  -------------------
  
  Recordset對象方法
  
  Open方法

  recordset.Open Source,ActiveConnection,CursorType,LockType,Options
  
  Source

  Recordset對象可以通過Source屬性來串連Command對象。Source參數可以是一個Command對象名稱、一段SQL命令、一個指定的資料表名稱或是一個Stored Procedure。假如省略這個參數,系統則採用Recordset對象的Source屬性。
  
  ActiveConnection

  Recordset對象可以通過ActiveConnection屬性來串連Connection對象。這裡的ActiveConnection可以是一個Connection對象或是一串包含資料庫連接資訊(ConnectionString)的字串參數。

  CursorType

  Recordset對象Open方法的CursorType參數表示將以什麼樣的遊標類型啟動資料,包括adOpenForwardOnly、adOpenKeyset、adOpenDynamic及adOpenStatic,分述如下:

  ---------------------------------
  常數 常數值 說明
  ----------------------------------
  adOpenForwardOnly 0 預設值,啟動一個只能向前移動的遊標(Forward Only)。
  adOpenKeyset 1 啟動一個Keyset類型的遊標。
  adOpenDynamic 2 啟動一個Dynamic類型的遊標。
  adOpenStatic 3 啟動一個Static類型的遊標。
  ----------------------------------

  以上幾個遊標類型將直接影響到Recordset對象所有的屬性和方法,以下列表說明他們之間的區別。

  PageCount 不支援 不支援 唯讀 唯讀
  PageSize 可讀寫 可讀寫 可讀寫 可讀寫
  RecordCount 不支援 不支援 唯讀 唯讀
  Source 可讀寫 可讀寫 可讀寫 可讀寫
  State 唯讀 唯讀 唯讀 唯讀
  Status 唯讀 唯讀 唯讀 唯讀
  AddNew 支援 支援 支援 支援
  CancelBatch 支援 支援 支援 支援
  CancelUpdate 支援 支援 支援 支援
  Clone 不支援 不支援
  Close 支援 支援 支援 支援
  Delete 支援 支援 支援 支援
  GetRows 支援 支援 支援 支援
  Move 不支援 支援 支援 支援
  MoveFirst 支援 支援 支援 支援
  MoveLast 不支援 支援 支援 支援
  MoveNext 支援 支援 支援 支援
  MovePrevious 不支援 支援 支援 支援
  NextRecordset 支援 支援 支援 支援
  Open 支援 支援 支援 支援
  Requery 支援 支援 支援 支援
  Resync 不支援 不支援 支援 支援
  Supports 支援 支援 支援 支援
  Update 支援 支援 支援 支援
  UpdateBatch 支援 支援 支援 支援
  ----------------------------------

  其中NextRecordset方法並不適用於Microsoft Access資料庫。
  
  LockType

  Recordset對象Open方法的LockType參數表示要採用的Lock類型,如果忽略這個參數,那麼系統會以Recordset對象的LockType屬性為預設值。LockType參數包含adLockReadOnly、adLockPrssimistic、adLockOptimistic及adLockBatchOptimistic等,分述如下:
  
  --------------------------
  常數 常數值 說明
  --------------------------
  adLockReadOnly 1 預設值,Recordset對象以唯讀方式啟動,無法運行AddNew、Update及Delete等方法

  adLockPrssimistic 2 當資料來源正在更新時,系統會暫時鎖住其他使用者的動作,以保持資料一致性。

  adLockOptimistic 3 當資料來源正在更新時,系統並不會鎖住其他使用者的動作,其他使用者可以對資料進行增、刪、改的操作。

  adLockBatchOptimistic 4 當資料來源正在更新時,其他使用者必須將CursorLocation屬性改為adUdeClientBatch才能對資料進行增、

  刪、改的操作。

  ----------------------------------
  Recordset屬性 adOpenForwardOnly adOpenKeyset adOpenDynamic adOpenStatic
  ----------------------------------
  AbsolutePage 不支援 不支援 可讀寫 可讀寫
  AbsolutePosition 不支援 不支援 可讀寫 可讀寫
  ActiveConnection 可讀寫 可讀寫 可讀寫 可讀寫
  BOF 唯讀 唯讀 唯讀 唯讀
  Bookmark 不支援 不支援 可讀寫 可讀寫
  CacheSize 可讀寫 可讀寫 可讀寫 可讀寫
  CursorLocation 可讀寫 可讀寫 可讀寫 可讀寫
  CursorType 可讀寫 可讀寫 可讀寫 可讀寫
  EditMode 唯讀 唯讀 唯讀 唯讀
  EOF 唯讀 唯讀 唯讀 唯讀
  Filter 可讀寫 可讀寫 可讀寫 可讀寫
  LockType 可讀寫 可讀寫 可讀寫 可讀寫
  MarshalOptions 可讀寫 可讀寫 可讀寫 可讀寫
  MaxRecords 可讀寫 可讀寫 可讀寫 可讀寫



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.