熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> SQL Server >> 正文

關於SQL的基本知識和影響Recordset的游標類型

2022-06-13   來源: SQL Server 

  程序數據庫類
   ASP與Access數據庫連接
  <%@ language=VBscript%>
  <%
  dim connmdbfile
  mdbfile=servermappath(數據庫名稱mdb)
  set conn=servercreateobject(nnection)
  connopen driver={microsoft access driver
  (*mdb)};uid=admin;pwd=數據庫密碼;dbq=&mdbfile
  %>
   ASP與SQL數據庫連接
  <%@ language=VBscript%>
  <%
  dim conn
  set conn=servercreateobject(nnection)
  conopen PROVIDER=SQLOLEDB;DATA
  SOURCE=SQL服務器名稱或IP地址;UID=sa;PWD=數據庫密碼;DATABASE=數據庫名稱
  %>
  
  建立記錄集對象
  set rs=servercreateobject(adodbrecordset)
  rsopen SQL語句conn
  
   SQL常用命令使用方法
  () 數據記錄篩選
  sql=select * from 數據表 where 字段名=字段值 order by 字段名 [desc]
  sql=select * from 數據表 where 字段名 like %字段值% order by 字段名 [desc]
  sql=select top * from 數據表 where 字段名 order by 字段名 [desc]
  sql=select * from 數據表 where 字段名 in ()
  sql=select * from 數據表 where 字段名 between 值 and 值
  
  () 更新數據記錄
  sql=update 數據表 set 字段名=字段值 where 條件表達式
  sql=update 數據表 set 字段=值字段=值 …… 字段n=值n where 條件表達式
  
  () 刪除數據記錄
  sql=delete from 數據表 where 條件表達式
  sql=delete from 數據表 (將數據表所有記錄刪除)
  
  () 添加數據記錄
  sql=insert into 數據表 (字段字段字段 …) values (值 …)
  sql=insert into 目標數據表 select * from 源數據表 (把源數據表的記錄添加到目標數據表)
  
  () 數據記錄統計函數
  AVG(字段名) 得出一個表格欄平均值
  COUNT(*|字段名) 對數據行數的統計或對某一欄有值的數據行數統計
  MAX(字段名) 取得一個表格欄最大的值
  MIN(字段名) 取得一個表格欄最小的值
  SUM(字段名) 把數據欄的值相加
  引用以上函數的方法
  sql=select sum(字段名) as 別名 from 數據表 where 條件表達式
  set rs=connexcute(sql)
  用 rs(別名) 獲取統的計值其它函數運用同上
  
  () 數據表的建立和刪除
  CREATE TABLE 數據表名稱(字段 類型(長度)字段 類型(長度) …… )
  例CREATE TABLE tab(name varchar()datetime default now())
  
  DROP TABLE 數據表名稱 (永久性刪除一個數據表)
   記錄集對象的方法
  rsmovenext 將記錄指針從當前的位置向下移一行
  rsmoveprevious 將記錄指針從當前的位置向上移一行
  rsmovefirst 將記錄指針移到數據表第一行
  rsmovelast 將記錄指針移到數據表最後一行
  rsabsoluteposition=N 將記錄指針移到數據表第N行
  rsabsolutepage=N 將記錄指針移到第N頁的第一行
  rspagesize=N 設置每頁為N條記錄
  rspagecount 根據 pagesize 的設置返回總頁數
  rsrecordcount 返回記錄總數
  rsbof 返回記錄指針是否超出數據表首端true表示是false為否
  rseof 返回記錄指針是否超出數據表末端true表示是false為否
  rsdelete 刪除當前記錄但記錄指針不會向下移動
  rsaddnew 添加記錄到數據表末端
  rsupdate 更新數據表記錄
  
  Recordset對象方法
  Open方法
  recordsetOpen SourceActiveConnectionCursorTypeLockTypeOptions
  Source
  Recordset對象可以通過Source屬性來連接Command對象Source參數可以是一個Command對象名稱一段SQL命令一個指定的數據表名稱或是一個Stored
  Procedure假如省略這個參數系統則采用Recordset對象的Source屬性
  
  ActiveConnection
  Recordset對象可以通過ActiveConnection屬性來連接Connection對象這裡的ActiveConnection可以是一個Connection對象或是一串包含數據庫連接信息(ConnectionString)的字符串參數
  
  CursorType
  Recordset對象Open方法的CursorType參數表示將以什麼樣的游標類型啟動數據包括adOpenForwardOnlyadOpenKeysetadOpenDynamic及adOpenStatic分述如下
  
  常數 常數值 說明
  
  adOpenForwardOnly 缺省值啟動一個只能向前移動的游標(Forward Only)
  adOpenKeyset 啟動一個Keyset類型的游標
  adOpenDynamic 啟動一個Dynamic類型的游標
  adOpenStatic 啟動一個Static類型的游標
  
  以上幾個游標類型將直接影響到Recordset對象所有的屬性和方法以下列表說明他們之間的區別
  
  Recordset屬性 adOpenForwardOnly adOpenKeyset adOpenDynamic adOpenStatic
  
  AbsolutePage 不支持 不支持 可讀寫 可讀寫
  AbsolutePosition 不支持 不支持 可讀寫 可讀寫
  ActiveConnection 可讀寫 可讀寫 可讀寫 可讀寫
  BOF 只讀 只讀 只讀 只讀
  Bookmark 不支持 不支持 可讀寫 可讀寫
  CacheSize 可讀寫 可讀寫 可讀寫 可讀寫
  CursorLocation 可讀寫 可讀寫 可讀寫 可讀寫
  CursorType 可讀寫 可讀寫 可讀寫 可讀寫
  EditMode 只讀 只讀 只讀 只讀
  EOF 只讀 只讀 只讀 只讀
  Filter 可讀寫 可讀寫 可讀寫 可讀寫
  LockType 可讀寫 可讀寫 可讀寫 可讀寫
  MarshalOptions 可讀寫 可讀寫 可讀寫 可讀寫
  MaxRecords 可讀寫 可讀寫 可讀寫 可讀寫
  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參數包含adLockReadOnlyadLockPrssimisticadLockOptimistic及adLockBatchOptimistic等分述如下
  
  常數 常數值 說明
  
  adLockReadOnly 缺省值Recordset對象以只讀方式啟動無法運行AddNewUpdate及Delete等方法
  adLockPrssimistic 當數據源正在更新時系統會暫時鎖住其他用戶的動作以保持數據一致性
  adLockOptimistic 當數據源正在更新時系統並不會鎖住其他用戶的動作其他用戶可以對數據進行增改的操作
  adLockBatchOptimistic 當數據源正在更新時其他用戶必須將CursorLocation屬性改為adUdeClientBatch才能對數據進行增改的操作
From:http://tw.wingwit.com/Article/program/SQLServer/201311/22247.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.