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.mzph.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、单例类必须给其…