vb用adodb鏈接mysql找不到_VB使用ADODB操作數據庫的常用方法

ADO常用方法

下面是我所掌握的使用ADO對數據庫操作的一些常用方法,主要是提供給初學者作為參考,有不對的地方請指正。如有補充不勝榮幸

準備工作========DimconnAsNewADODB.Connection'創建一個?Connection?實例,在這里使用New等于將Dim和Set合并為一段代碼執行DimrsAsADODB.Recordset'創建一個?Recordset?實例,不使用New?是因為,經常需要重復使用Set,因此沒必要在這里使用DimCnStrAsString,?SqlAsString'創建兩個字符串變量分別存放兩個集合的SQL語句代碼段1、裝載數據庫(不屬于Recordset集合)=============DimFileNamw$,?DbIp$,?DbName$,?DbUser$,?DbPw$'以上5個字符串變量分別表示文件路徑和文件名、數據庫地址、數據庫名、數據操作員用戶名、操作員密碼FileName=App.Path&"\'數據庫名'"DbIp="數據庫地址"DbName="數據庫名"DbUser="數據操作員用戶名"DbPw="操作員密碼"'以上變量根據數據庫類型的不同而不同,有可能只需要1至兩個變量'1)連接Access數據庫:'-------------------CnStr="PROVIDER=microsoft.jet.oledb.3.51;persist?security?info?=false;data?source="&FileName&";Jet?OLEDB:Database?Password="&DbPw'2)連接Oracle數據庫:'-------------------CnStr="PROVIDER=MSDAORA.1;Password="&DbPw&";User?ID="&DbUser&";Data?Source="&FileName&";Persist?Security?Info=True"'其中:'PASSWORD:??????密碼'User?ID:???????用戶號'Data?Source:???數據庫名'Persist?Security?Info:'Provider:'3)連接VF的DBF庫:'----------------CnStr="PROVIDER=MSDASQL.1;Persist?Security?Info=False;Driver={Microsoft?Visual?FoxPro?Driver};UID="&DbUser&";SourceDB="&FileName&";SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Collate=Machine;"'4)連接SQL的數據庫'------------------CnStr="PROVIDER=MSDataShape;Data?PROVIDER=MSDASQL;uid="&DbUser&";pwd="&DbPw&";DRIVER=SQL?Server;DATABASE="&DbName&";WSID=GQSOFT;SERVER="&DbIP'也可以使用這段簡易代碼?CnStr?=?"Provider=SQLOLEDB;Data?Source="?&?DbIp?&?";DATABASE="?&?DbName?&?";UID="?&?DbUser?&?";pwd="?&?DbPwConn.Open?cnstr'使用?Connection?集合的?Open?方法?與數據庫建立連接2、Recordset集合的常用方法=========================='1)打開一個表'------------Sql="select?*?from?表名"'SQL查詢語句Setrs=NewADODB.Recordset'新建一個實例rs.Open?Sql,?conn'使用?Open?方法打開數據庫中的一個表'注意,這種打開方式只能使用?rs.MoveNext?(即,向后移動行坐標)而不能像其他方向,并且不能修改數據內容'

'rs.Open?Sql,?conn,1?'雖然只加了個“1”,但這種方法可以向任何方向移動行坐標。'

'以下參數代表了這個可選值的含義'0?=?adOpenForwardOnly?(默認值)打開僅向前類型游標。'1?=?adOpenKeyset???????打開鍵集類型游標。'2?=?adOpenDynamic??????打開動態類型游標。'3?=?adOpenStatic???????打開靜態類型游標。'

'雖然使用以上方法可以可以實現行坐標(游標)的任意移動,但是仍然無法寫入數據。因此需要進一步的對Open?方法進行完善'rs.Open?Sql,?conn,?1,?3??'后面的3是確定讀寫權限的'以下參數代表了這個可選值的含義'1?=?adLockReadOnly????????(默認值)只讀?—?不能改變數據。'2?=?adLockPessimistic?????保守式鎖定(逐個)?—?在編輯時立即鎖定數據源的記錄。'3?=?adLockOptimistic??????開放式鎖定(逐個)?—?只在調用?Update?方法時才鎖定記錄。'4?=?adLockBatchOptimistic?開放式批更新?—?用于批更新模式(與立即更新模式相對)。'

'2)讀寫數據'----------'增加一行記錄并對新記錄的內容進行修改并保存可以如下寫法rs.AddNew'增加一行記錄rs("...")="..."'數據讀寫操作...

rs.UpDate'保存寫入資料,如果使用只讀權限,則不能使用這個方法rs.Close'這個方法用來關閉你所代開的表,如果不使用這個方法也可以,但是數據庫仍然認為你在對標進行鎖定,可造成數據庫負擔過重2、對數據進行篩選和排序=======================Sql="select?*?from?表名"'SQL查詢語句'以上為打開一個表的所有內容Sql="select?top?50?*?from?表名"'SQL查詢語句'以上為只打開前50行的記錄Sql="select?top?50?列名1,列名2,列名5?from?表名"'SQL查詢語句'以上為只打開前50行的記錄,并且只打開第1、2、5列數據Sql="select?*?from?表名?where?列名1='"&字段&"'"'SQL查詢語句'以上為一個簡單的篩選,表示打開的內容必須符合[列名1='"?&?字段?&?"'"]的內容'需要注意的是,數據庫列的類型必須匹配,比如字符串類型需要以單引號括起'而數字類型則不能用單引號括起'另外SQL語句還支持通配符,例如?列名1?like?'%"?&?字段?&?"%'"?表示包含[字段]'在表達式中的匹配'??_(下劃線)?任何單一字符'*?or?%????????零個或多個字符'#?????????????任何單一數字(0?—?9)'[charlist]????任何在字符表中的單一字符'[!charlist]???任何不在字符表中的單一字符'注:根據數據庫的不同?、_和*、%的應用有所差別,比如SQL只使用%?和?_?分別代表多個字符和單一字符Sql="select?*?from?表名?where?列名1='"&字段&"'?ORDER?BY?字段1?ASC"'對查詢結果進行升序排列Sql="select?*?from?表名?where?列名1='"&字段&"'?ORDER?BY?字段1?DESC"'對查詢結果進行降序排列Sql="select?*?from?表名?where?列名1='"&字段&"'?ORDER?BY?字段1?DESC,?ORDER?BY?字段2?DESC"'對查詢結果進行多維降序排列(速度奇慢,不推薦使用)3、Recordset集合的常用屬性方法==============================rs.BOF'是否游標在最上邊rs.EOF'是否游標在最下邊rs.RecordCount'記錄集的行數(如果使用像前類型的游標,可能返回不準確)rs.AddNew'新建一行記錄rs.Update'保存當前行被修改的記錄rs.Delete'刪除當前行rs.Close'關閉記錄集4、Fields集合的一些屬性的解釋============================='以下為簡寫,正常情況需要rs.Fileds.。。。但是Fields屬于Recordset的一個默認集合,因此可以省略rs()'括號內可以是列名也可以是列的序號例如:rs("姓名")、rs(3)?都是是可以的rs(3).Name'返回列名rs(3).Type'返回列的類型rs(3).Value'返回當前行的值rs.Fields.Count'返回列數

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/529871.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/529871.shtml
英文地址,請注明出處:http://en.pswp.cn/news/529871.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

mysql2008怎么重裝_SQL Server2005、2008如何徹底刪除卸載并重新安裝?

很多小伙伴在刪除SQL Server后重新安裝總是遇到諸多問題導致安裝失敗,這是因為你沒有將SQL Server徹底刪除卸載完畢。本文就如何徹底卸載進行詳細介紹,本文以SQL Server2008為例,2005的方法相似。方法/步驟1.按照傳統方法將SQL Server 2005、…

micropython編譯原理_C語言嵌入式Linux高級編程第9期:CPU和操作系統入門視頻課程...

嵌入式開發是一門交叉學科。它要求我們的嵌入式工程師,不僅學習C語言、匯編、軟件工程等軟件層面的知識技能,還要求對CPU內部工作機制、計算機系統架構、操作系統原理、編譯器等都有一個全局的認識和把握。而現實情況是,很多嵌入式的學員&…

mysql主從復制 火墻_MySQL高級知識(十五)——主從復制

前言:本章主要講解MySQL主從復制的操作步驟。由于環境限制,主機使用Windows環境,從機使用用Linux環境。另外MySQL的版本最好一致,筆者采用的MySQL5.7.22版本,具體安裝過程請查詢相關資料。1.主從復制的基本原理slave會…

python在人工智能領域的應用論文_Python的應用領域主要在人工智能方面。-智慧樹計算機專業導論章節答案...

計算機專業導論:Python的應用領域主要在人工智能方面。【?ж???】A:錯B:對計算機專業導論章節測試答案:對更多相關問題2020年直流電弧特性虛擬仿真實驗智慧樹章節測試答案電力電子技術(山東聯盟—中國石油大學(華東))_智慧樹_答案中國大學_《說文解字》與上古社…

正則只能出現特定字符_python正則表達式的簡單使用總結

原文作者:小哲,雷鋒網在編程中,經常會涉及到字符串的操作,一個常用的策略就是利用split函數,然后對于特定的字符串進行匹配,但是這種方法格式復雜,可復用性較差。正則表達式是處理字符串匹配一個…

MySQL配置日志服務器_mysql配置數據庫日志

mysql配置數據庫日志云服務器(Elastic Compute Service,簡稱ECS)是阿里云提供的性能卓越、穩定可靠、彈性擴展的IaaS(Infrastructure as a Service)級別云計算服務。云服務器ECS免去了您采購IT硬件的前期準備,讓您像使用水、電、天然氣等公共資源一樣便捷…

python外星人入侵不顯示子彈_【Python】python外星人入侵,武裝飛船,代碼寫好后,不顯示子彈...

按照書上寫的武裝飛船,寫到能夠左右移動了,但到了射擊(裝子彈)時候,按照書上的代碼照搬了,運行時沒顯示代碼有問題,但就是按了空格鍵,不見有子彈,其他都正常。代碼:alien_invasion.p…

python常見的異常類有哪些_Python常見異常類型

標簽:常見 nic 警告 werror pytho 無效 本地變量 計算 pointBaseException     所有異常的基類SystemExit             解釋器請求退出KeyboardInterrupt          用戶中斷執行(通常是輸入^C)Exc…

mysql dos 下切換連接_如何在dos下連接進入mysql對數據庫進行操作

一、:windowsR 進入命令命令提示符輸入 net start mysql若出現系統錯誤,要將命令提示符以管理員身份運行若出現不是內部指令,進入下面環境變量設置界面,配置path路徑1.進入系統查看界面,點擊高級系統設置2&#xff0c…

mysql二級緩存redis_SpringBoot+Mybatis+redis(二級緩存)搭建

剛剛開始接觸Spring Boot,因為極簡單的配置開發,搭建一個通用的Spring BootMybaitisredis的開發框架。一、用maven構建項目,pom.xml文件如下:org.springframework.bootspring-boot-starter-parent1.5.1.RELEASEorg.springframewor…

mysql自定義兩個條件排序_使用MySQL中的兩個不同列進行自定義排序?

為此,將ORDER BY子句與CASE語句一起使用。讓我們首先創建一個表-mysql> create table DemoTable1610-> (-> Marks int,-> Name varchar(20)-> ) ;使用插入命令在表中插入一些記錄-mysql> insert into DemoTable1610 values(85,John);mysql> in…

java獲取文件大小_Java中獲取文件大小的詳解及實例代碼

Java 獲取文件大小今天寫代碼時需要實現獲取文件大小的功能,目前有兩種實現方法,一種是使用File的length()方法;另外一種是使用FileInputStream的available()方法,當InputStream未進行read操作時,available()的大小應該…

java訪問權限friendly_Java的訪問權限

一.Java訪問權限飾詞(access specifiers)Java有public、protect、friendly、private四種訪問權限,并且這四訪問權限的訪問范圍越來越小。1. friendly1) 果一個class內的數據成員或方法沒有任何權限飾詞,那么它的缺省訪問權限就是f…

java 0 255_java – 什么(float)(par4 16255)/ 255.0F;意思?

帶alpha通道的RGB(通常稱為RGBA或aRGB)是四個字節打包成一個整數.AAAAAAAARRRRRRRRBBBBBBBBGGGGGGGG // the original par4, each char represents one bit.// where ARBG stands for alpha, red, blue and green bit.shift和運算符用于檢索每個字節.例如,par4>> 16&…

java ie下載文件名亂碼問題_php中強制下載文件的代碼(解決了IE下中文文件名亂碼問題)...

中間遇到一個問題是提交的中文文件名直接放到header里在IE下會變成亂碼,解決方法是將文件名先urlencode一下再放入header,如下。$file_name urlencode($_REQUEST[filename]);header("Pragma: public"); header("Expires: 0");heade…

java如何獲得當前路徑_在java中如何得到當前路徑

歸納一些網上取java路徑的方法:注明:如果從ANT啟動程序,this.getClass().getResource("")取出來的比較怪,直接用JAVA命令行調試就可成功。得到classpath和當前類的絕對路徑的一些方法獲得CLASSPATH之外路徑的方法&#…

java繼承總結_JAVA筆記:Java中的繼承總結

繼承:在Java中使用extends關鍵字來實現類的繼承 ,extends意思就是派生,所以子類也叫派生類,繼承的主要目的是擴展類的內容操作格式: class A{}; class B extends A{};子類B可以繼承父類A中的公用方法,也可…

java正則表達式 類_java正則表達式相關類的使用

import java.util.regex.Matcher;import java.util.regex.Pattern;public class TestZhengZe {public static void main(String[] args) {//匹配數字Pattern mac Pattern.compile("-?(0|([1-9][0-9]*))(\\.[0-9])?");System.out.println(mac.matcher("101.00…

Java轉置_Java實現單鏈表的逆轉置

單鏈表逆轉置的遞歸與非遞歸方式package link.reverse;// 定義一個單鏈表class Node {//變量private int record;//指向下一個對象private Node nextNode;public Node(int record) {this.record record;}public int getRecord() {return record;}public void setRecord(int re…

單利 java_Java設計模式-單利模式

單例模式作為對象的創建模式,單例模式確保其某一個類只有一個實例,而且自行實例化并向整個系統提供這個實例,這個類稱為單例類。單例模式有以下特點:1、單例類只能有一個實例2、單例類必須自己創建自己的唯一實例3、單例類必須給其…