乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      VB使用ADODB操做數(shù)據(jù)庫(kù)

       悟靜 2009-07-13
      下面是我所掌握的使用ADO對(duì)數(shù)據(jù)庫(kù)操做的一些常用方法,主要是提供給初學(xué)者做為參考,有不對(duì)的地方請(qǐng)指正。如有補(bǔ)充不勝榮幸

      準(zhǔn)備工做
      ========


      來(lái)源:www.va1314.com/bc
      Dim conn As New  ADODB.Connection  \'創(chuàng)建一個(gè) Connection 實(shí)例,在這里使用New等于將Dim和Set合并為一段代碼執(zhí)行
      Dim rs As ADODB.Recordset    \'創(chuàng)建一個(gè) Recordset 實(shí)例,不使用New 是因?yàn)椋?jīng)常需要重復(fù)使用Set,因而沒(méi)必要在這里使用
      Dim CnStr As String, Sql As String  \'創(chuàng)建兩個(gè)字符串變量分別存放兩個(gè)集合的SQL語(yǔ)句代碼段


      1、裝載數(shù)據(jù)庫(kù)(不屬于Recordset集合)
      =============
      Dim FileNamw$, DbIp$, DbName$, DbUser$, DbPw$
      \'以上5個(gè)字符串變量分別表示文件路徑和文件名、數(shù)據(jù)庫(kù)地址、數(shù)據(jù)庫(kù)名、數(shù)據(jù)操做員用戶(hù)名、操做員密碼

      FileName = App.Path & \"\\\'數(shù)據(jù)庫(kù)名\'\"
      DbIp = \"數(shù)據(jù)庫(kù)地址\"
      DbName = \"數(shù)據(jù)庫(kù)名\"
      DbUser = \"數(shù)據(jù)操做員用戶(hù)名\"
      DbPw = \"操做員密碼\"
      \'以上變量根據(jù)數(shù)據(jù)庫(kù)類(lèi)型的不同而不同,有可能只需要1至兩個(gè)變量

      \'1)連接Access數(shù)據(jù)庫(kù):
      \'-------------------
      CnStr = \"ROVIDER=microsoft.jet.oledb.3.51;persist security info =false;data source=\" & FileName & \";Jet OLEDBatabase Password=\" & DbPw

      \'2)連接Oracle數(shù)據(jù)庫(kù):
      \'-------------------
      CnStr = \"ROVIDER=MSDAORA.1assword=\" & DbPw & \";User ID=\" & DbUser & \";Data Source=\" & FileName & \"ersist Security Info=True\"

      \'其中:
      \'PASSWORD:      密碼
      \'User ID:       用戶(hù)號(hào)
      \'Data Source:   數(shù)據(jù)庫(kù)名
      \'Persist Security Info:
      \'Provider:

      \'3)連接VF的DBF庫(kù):
      \'----------------
      CnStr = \"ROVIDER=MSDASQL.1ersist Security Info=False;Driver={Microsoft Visual FoxPro Driver};UID=\" & DbUser & \";SourceDB=\" & FileName &

      \";SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Collate=Machine;\"

      \'4)連接SQL的數(shù)據(jù)庫(kù)
      \'------------------
      CnStr = \"ROVIDER=MSDataShape;Data PROVIDER=MSDASQL;uid=\" & DbUser & \";pwd=\" & DbPw & \";DRIVER=SQL Server;DATABASE=\" & DbName & \";WSID=GQSOFT;SERVER=\" &

      DbIP

      \'也能夠使用這段簡(jiǎn)易代碼 CnStr = \"rovider=SQLOLEDB;Data Source=\" & DbIp & \";DATABASE=\" & DbName & \";UID=\" & DbUser & \";pwd=\" & DbPw

      Conn.Open cnstr \'使用 Connection 集合的 Open 方法 與數(shù)據(jù)庫(kù)建立連接

      2、Recordset集合的常用方法
      ==========================

      \'1)打開(kāi)一個(gè)表
      \'------------

      Sql = \"select * from 表名\" \'SQL查詢(xún)語(yǔ)句
      Set rs = New ADODB.Recordset \'新建一個(gè)實(shí)例
      rs.Open Sql, conn \'使用 Open 方法打開(kāi)數(shù)據(jù)庫(kù)中的一個(gè)表

      \'注意,這種打開(kāi)方式只能使用 rs.MoveNext (即,向后移動(dòng)行立標(biāo))而不能像其他方向,并且不能修改數(shù)據(jù)內(nèi)容
      \'
      \'rs.Open Sql, conn,1 \'雖然只加了個(gè)“1”,但這種方法能夠向任何方向移動(dòng)行立標(biāo)。
      \'
      \'以下參數(shù)代表了這個(gè)可選值的含義
      \'0 = adOpenForwardOnly (默認(rèn)值)打開(kāi)僅向前類(lèi)型游標(biāo)。
      \'1 = adOpenKeyset       打開(kāi)鍵集類(lèi)型游標(biāo)。
      \'2 = adOpenDynamic      打開(kāi)動(dòng)態(tài)類(lèi)型游標(biāo)。
      \'3 = adOpenStatic       打開(kāi)靜態(tài)類(lèi)型游標(biāo)。
      \'
      \'雖然使用以上方法能夠能夠?qū)崿F(xiàn)行立標(biāo)(游標(biāo))的任意移動(dòng),但是仍然無(wú)法寫(xiě)入數(shù)據(jù)。因而需要進(jìn)一步的對(duì)Open 方法進(jìn)行完善

      \'rs.Open Sql, conn, 1, 3  \'后面的3是確定讀寫(xiě)權(quán)限的

      \'以下參數(shù)代表了這個(gè)可選值的含義
      \'1 = adLockReadOnly        (默認(rèn)值)只讀 — 不能改變數(shù)據(jù)。
      \'2 = adLockPessimistic     保守式鎖定(逐個(gè)) — 在編輯時(shí)立即鎖定數(shù)據(jù)源的記錄。
      \'3 = adLockOptimistic      開(kāi)放式鎖定(逐個(gè)) — 只在調(diào)用 Update 方法時(shí)才鎖定記錄。
      \'4 = adLockBatchOptimistic 開(kāi)放式批更新 — 用于批更新模式(與立即更新模式相對(duì))。
      \'
      \'2)讀寫(xiě)數(shù)據(jù)
      \'----------
      \'增加一行記錄并對(duì)新記錄的內(nèi)容進(jìn)行修改并保存能夠如下寫(xiě)法
      rs.AddNew \'增加一行記錄
      rs(\"...\")=\"...\"    \'數(shù)據(jù)讀寫(xiě)操做
      ...
      rs.UpDate \'保存寫(xiě)入資料,如果使用只讀權(quán)限,則不能使用這個(gè)方法[Page]
      rs.Close  \'這個(gè)方法用來(lái)關(guān)閉你所代開(kāi)的表,如果不使用這個(gè)方法也能夠,但是數(shù)據(jù)庫(kù)仍然認(rèn)為你在對(duì)標(biāo)進(jìn)行鎖定,可形成數(shù)據(jù)庫(kù)負(fù)擔(dān)過(guò)重

      2、對(duì)數(shù)據(jù)進(jìn)行篩選和排序
      =======================
      Sql = \"select * from 表名\" \'SQL查詢(xún)語(yǔ)句
      \'以上為打開(kāi)一個(gè)表的所有內(nèi)容

      Sql = \"select top 50 * from 表名\" \'SQL查詢(xún)語(yǔ)句
      \'以上為只打開(kāi)前50行的記錄

      Sql = \"select top 50 列名1,列名2,列名5 from 表名\" \'SQL查詢(xún)語(yǔ)句
      \'以上為只打開(kāi)前50行的記錄,并且只打開(kāi)第1、2、5列數(shù)據(jù)

      Sql = \"select * from 表名 where 列名1=\'\" & 字段 & \"\'\" \'SQL查詢(xún)語(yǔ)句
      \'以上為一個(gè)簡(jiǎn)單的篩選,表示打開(kāi)的內(nèi)容必須符合[列名1=\'\" & 字段 & \"\'\"]的內(nèi)容
      \'需要注意的是,數(shù)據(jù)庫(kù)列的類(lèi)型必須婚配,比如字符串類(lèi)型需要以單引號(hào)括起
      \'而數(shù)字類(lèi)型則不能用單引號(hào)括起
      \'另外SQL語(yǔ)句還支持通配符,例如 列名1 like \'%\" & 字段 & \"%\'\" 表示包含[字段]
      \'在表達(dá)式中的婚配
      \'? _(下劃線(xiàn)) 任何單一字符
      \'* or %        零個(gè)或多個(gè)字符

      \'#             任何單一數(shù)字(0 — 9)
      \'[charlist]    任何在字符表中的單一字符
      \'[!charlist]   任何不在字符表中的單一字符
      \'注:根據(jù)數(shù)據(jù)庫(kù)的不同?、_和*、%的應(yīng)用有所差別,比如SQL只使用% 和 _ 分別代表多個(gè)字符和單一字符

      Sql = \"select * from 表名 where 列名1=\'\" & 字段 & \"\' ORDER BY 字段1 ASC\" \'對(duì)查詢(xún)結(jié)果進(jìn)行升序陳列
      Sql = \"select * from 表名 where 列名1=\'\" & 字段 & \"\' ORDER BY 字段1 DESC\"  \'對(duì)查詢(xún)結(jié)果進(jìn)行降序陳列
      Sql = \"select * from 表名 where 列名1=\'\" & 字段 & \"\' ORDER BY 字段1 DESC, ORDER BY 字段2 DESC\"  \'對(duì)查詢(xún)結(jié)果進(jìn)行多維降序陳列(速度奇慢,不推薦使用)

      3、Recordset集合的常用屬性方法
      ==============================
      rs.BOF        \'能否游標(biāo)在最上邊
      rs.EOF        \'能否游標(biāo)在最下邊
      rs.RecordCount    \'記錄集的行數(shù)(如果使用像前類(lèi)型的游標(biāo),可能前往不準(zhǔn)確)
      rs.AddNew    \'新建一行記錄
      rs.Update    \'保存當(dāng)前行被修改的記錄
      rs.Delete    \'刪除當(dāng)前行
      rs.Close    \'關(guān)閉記錄集

      4、Fields集合的一些屬性的注釋
      =============================
      \'以下為簡(jiǎn)寫(xiě),正常情況需要rs.Fileds.。。。但是Fields屬于Recordset的一個(gè)默認(rèn)集合,因而能夠省略

      rs()  \'括號(hào)內(nèi)能夠是列名也能夠是列的序號(hào)例如:rs(\"姓名\")、rs(3) 都是是能夠的

      rs(3).Name  \'前往列名
      rs(3).Type  \'前往列的類(lèi)型
      rs(3).Value \'前往當(dāng)前行的值
      rs.Fields.Count \'前往列數(shù)

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶(hù) 評(píng)論公約

        類(lèi)似文章 更多