VB6连接各种类型的数据库

VB6连接各种类型的数据库

一、连接VFP数据库

 
  1. Dim CNN As New ADODB.Connection

  2. Dim rssys As New ADODB.Recordset

  3. If CNN.state = 1 Then CNN.Close

  4. CNN.ConnectionString = "Driver={Microsoft Visual FoxPro Driver};SourceType=.DBc;SourceDb=" + Trim(Text1)

  5. CNN.Open

  6. If CNN.state = 1 Then

  7. rssys.CursorLocation = adUseClient

  8. rssys.Open "select * from sys ", CNN, adOpenDynamic, adLockReadOnly

  9. End If

二、连接Ms SQL数据库

 
  1. Dim CNN As New ADODB.Connection

  2. If loginid = 0 Then

  3. CNN.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=RongShiYKT;Data Source=" & Trim(sqlserver)

  4. ElseIf loginid = 1 Then

  5. CNN.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;pwd=123456;Initial Catalog=RongShiYKT" & ";Data Source=" & Trim(sqlserver)

  6. End If

  7. CNN.Mode = adModeShareDenyNone

  8. CNN.CommandTimeout = 0

  9. CNN.Open

  10. Dim cmd As New ADODB.Command

  11. Set cmd.ActiveConnection = cn

  12. cmd.CommandType = adCmdStoredProc

  13. cmd.CommandText = "DealMealData"

  14. cmd.Parameters(1) = rscx.Fields("ID")

  15. cmd.Execute

三、连接Access数据库

 
  1. Dim CNN As New ADODB.Connection

  2. CNN.ConnectionString = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source= " & App.Path & "\Elevator.mdb;Persist Security Info=true;Jet OLEDB:Database Password=123456"

  3. If CNN.State = 1 Then CNN.Close

  4. CNN.Open

四、连接MySql数据库

 
  1. Dim CNN As New ADODB.Connection

  2. Dim mysqlstor As New ADODB.Command

  3. CNN.ConnectionString = " DRIVER={MySQL ODBC 5.2 unicode Driver};" & "SERVER=" & hostserver & "; DATABASE=" & dbserver & ";UID=" & user & ";PWD=" & pwd & "; OPTION=3"

  4. If CNN.State = 1 Then CNN.Close

  5. CNN.Open

  6. CREATE DEFINER=`rsadmin`@`%` PROCEDURE `Stor_Add_Cust`(IN Cust0 varchar(60) character set gbk,

  7. IN Cont1 varchar(20) character set gbk,

  8. IN Mobi2 varchar(15) character set gbk,

  9. IN Tel3 varchar(15) character set gbk,

  10. IN Fax4 varchar(15) character set gbk,

  11. IN QQ5 varchar(15) character set gbk,

  12. IN Addr6 varchar(80) character set gbk,

  13. IN ShopA7 varchar(60) character set gbk,

  14. IN ShopT8 varchar(15) character set gbk,

  15. IN ShopF9 varchar(15) character set gbk,

  16. IN Email10 varchar(30) character set gbk,

  17. IN Area111 varchar(18) character set gbk,

  18. IN Rema12 varchar(80) character set gbk,

  19. IN User13 int,

  20. IN Remind14 varchar(250) character set gbk,

  21. IN WebId15 int,

  22. OUT KHBHStr varchar(10),OUT CustId int)

  23. BEGIN /* 增加一个新客户*/

  24. select max(custoCode) into @xfdh from customer;

  25. set @xfdh= LPAD(right( @xfdh,6)+1,10,'KHBH0000000000');

  26. set KHBHStr=@xfdh;

  27. if not isnull(Cust0) then

  28. Insert into Customer(CustoCode,CustoName,AreaCode,Mobile,Address,Fax,Contact,Tel,QQ,Remark,ShopAdd,ShopTel,ShopFax,E_MAIL,inputdate,UserID,Remind,WebstaId) values(@xfdh,Cust0,Area111,Mobi2,Addr6,Fax4,Cont1,Tel3,QQ5 ,Rema12,ShopA7,ShopT8,ShopF9,Email10,sysdate(),User13,Remind14,WebId15);

  29. select Id into CustId from customer where CustoCode=@xfdh;

  30. end if;

  31. END;

  32. mysqlstor.ActiveConnection = CNN

  33. mysqlstor.CommandText = "Stor_Add_Cust"

  34. mysqlstor.CommandType = adCmdStoredProc

  35. mysqlstor.Prepared = True

  36. mysqlstor.Parameters(0) = Trim(Text4.Text)

  37. mysqlstor.Parameters(1) = Trim(Text6.Text)

  38. mysqlstor.Parameters(2) = Trim(Text12.Text)

  39. mysqlstor.Parameters(3) = Trim(Text3.Text)

  40. mysqlstor.Parameters(4) = Trim(Text2.Text)

  41. mysqlstor.Parameters(5) = Trim(Text11.Text)

  42. mysqlstor.Parameters(6) = Trim(Text5.Text)

  43. mysqlstor.Parameters(7) = Trim(Text13.Text)

  44. mysqlstor.Parameters(8) = Trim(Text15.Text)

  45. mysqlstor.Parameters(9) = Trim(Text14.Text)

  46. mysqlstor.Parameters(10) = Trim(Text7.Text)

  47. mysqlstor.Parameters(11) = selnewbm

  48. mysqlstor.Parameters(12) = Trim(Text8.Text)

  49. mysqlstor.Parameters(13) = czyid

  50. mysqlstor.Parameters(14) = Trim(Text16.Text)

  51. mysqlstor.Parameters(15) = Val(Mid(Combo4.Text, 1, 3))

  52. mysqlstor.Parameters(16) = ""

  53. mysqlstor.Parameters(17) = 0

  54. mysqlstor.Execute

  55. dwbh = mysqlstor.Parameters(16)

  56. selekhid = mysqlstor.Parameters(16)

  57. selcustid = mysqlstor.Parameters(17)

  58. sqlstr = "call Stor_InOutMat('" & selck & "'," & Val(Label20.Caption) & "," & Val(Text10) & ",'" & czymc & "','" & Trim(Text11) & "'," & czyid & ")"

  59. CNN.Execute sqlstr

五、连接Oracle数据库 

 
  1. Dim CNN As New ADODB.Connection

  2. CNN.ConnectionString = "Driver={Microsoft ODBC for Oracle};Server=SvrName;UID=UserID;PWD=Password;"

  3. If CNN.State = 1 Then CNN.Close

  4. CNN.Open

六、通过.udl通用数据连接文件连接数据库  

 
  1. Dim cn As New ADODB.Connection

  2. cn.ConnectionString = "File Name=" & App.Path & "\ConnectDatabase.udl;"

  3. cn.Mode = adModeShareDenyNone

  4. cn.CommandTimeout = 0

  5. cn.Open

七、编辑修改.udl通用数据连接文件 

 
  1. Dim s As String

  2. Dim filename As String

  3. Dim BytesBuffer() As Byte

  4. Dim i As Long

  5. filename = App.Path & "\ConnectDatabase.udl"

  6. On Error Resume Next

  7. s = "[oledb]" & vbCrLf & "; Everything after this line is an OLE DB initstring" & vbCrLf & "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;User ID=sa;Initial Catalog=master;Data Source=(local)" & vbCrLf

  8. BytesBuffer = VBA.StrConv(VBA.StrConv(s, vbUnicode), vbFromUnicode)

  9. ReDim BytesBuffer0(1) As Byte

  10. BytesBuffer0(0) = 255

  11. BytesBuffer0(1) = 254

  12. If VBA.Len(VBA.Trim(VBA.Dir(filename))) > 0 Then

  13. DeleteFile filename

  14. End If

  15. i = VBA.FreeFile

  16. Open filename For Binary Access Write As #i

  17. Put #i, , BytesBuffer0

  18. Put #i, , BytesBuffer

  19. Close #i

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/630664.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

经济寒冬 | 品牌策划人还可以去哪些行业发展?

在这个经济寒冬下,咱们品牌策划人也需要考虑后路问题了。 随着市场竞争的加剧和消费者需求的不断变化,品牌策划人的工作不再只是简单的广告宣传和市场推广。 咱们需要重新思考自己的角色,寻找新的生存和发展之道。 当然,品牌策…

45°和68°焕新上市,五粮液完成产品体系化布局

执笔 | 尼 奥 编辑 | 扬 灵 如今,白酒行业正经历周期性调整,头部化和品牌化集中趋势日益显著。五粮液在这一关键时刻,敏锐地捕捉到市场机遇,通过产品焕新,进一步完善和丰富了其代际系列产品体系。 这一举措不仅巩…

大龄程序员是否要入职嵌入式python岗位?

在开始前我有一些资料,是我根据网友给的问题精心整理了一份「Python的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!! 是否要做嵌入式 Python 取决于…

提升写作效率的秘密武器:一个资深编辑的AI写作体验

有句话说:“写作是一项你坐在打字机前流血的工作。”而如今,各类生成式软件的涌现似乎打破了写作这一古老的艺术形式壁垒。过去,作家们独自在书桌前冥思苦想,如今,一款名为“玲珑AI工具”的ai写作助手正悄然改变着文案写作行业的创作生态,成为提升写作效率的秘密武器。 在传统…

通俗易懂讲乐观锁与悲观锁

浅谈乐观锁与悲观锁 乐观锁和悲观锁是Java并发编程中的两个概念。使用乐观锁和悲观锁可以解决并发编程中数据不一致性、死锁、性能差等问题,乐观锁与悲观锁的实行方式不同,所以其特性也不近相同,下文将详细介绍两者的特性与适用场景。 《熊…

【C语言】必备Linux命令和C语言基础

🌟博主主页:我是一只海绵派大星 📚专栏分类:嵌入式笔记 ❤️感谢大家点赞👍收藏⭐评论✍️ 目录 一、文件和目录相关命令 Linux 的文件系统结构 文件系统层次结构标准FHS pwd命令 ls 列目录内容 文件的权限 c…

[董晓算法]搜索相关题目及模板

前言: 本系列是学习了董晓老师所讲的知识点做的笔记 董晓算法的个人空间-董晓算法个人主页-哔哩哔哩视频 (bilibili.com) 动态规划系列(还没学完) 【董晓算法】动态规划之线性DP问题-CSDN博客 【董晓算法】动态规划之背包DP问题&#xff…

NSSCTF | [SWPUCTF 2021 新生赛]ez_unserialize

打开题目,发现是一个GIF动图页面,什么都没有。我们来查看一下源代码,看看有没有什么发现 其实只要足够了解网站的构成,看到绿色的注释字样就能知道它这里在提示robots.txt文件。 但是对于小白来说,也不知道它是什么&a…

高效稳定,AH1515-15V转12V8A稳压芯片成为各种设备首选

高效稳定,AH1515 15V转12V稳压芯片成为各种设备首选 随着科技的不断发展,各种电子设备对电源的要求越来越高,尤其是电压稳定性和电流输出能力。为了解决这一问题,我国一款名为AH1515的稳压芯片应运而生,凭借其优异的性…

win11家庭中文版安装docker,报错 Docker Engine stopped

先引一下这位博主的链接超详细Windows11家庭中文版系统安装Docker-20230401_windows11安装docker-CSDN博客,我到前五步(跳出页面重启)和博主都是一样的,但是第六步我并没有报错,直接跳出docker界面 记录一下我的解决办法,首先按照…

[链表专题]力扣141, 142

1. 力扣141 : 环形链表 题 : 给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾…

2024042001-计算机网络 - 物理层

计算机网络 - 物理层 计算机网络 - 物理层 通信方式带通调制 通信方式 根据信息在传输线上的传送方向,分为以下三种通信方式: 单工通信:单向传输半双工通信:双向交替传输全双工通信:双向同时传输 带通调制 模拟信号…

深度盘点解析一家公司的PMO的定位与发展规划

对于一家公司的PMO(项目管理办公室)的定位与发展规划,今天从以下几个方面进行深度盘点和解析,具体如下: 一、PMO的定位 1. 战略与推手:PMO是持续提升组织项目管理水平,实现组织所有项目成功的重要推手。它站在公司战略的高度,从全局视角出发,对公司内部的项目进行统一…

使用高防IP是应对网络安全的重要措施

使用高防IP(High Defense IP)在现代网络环境中显得尤为重要,这主要源于以下几个方面的原因: 一、网络安全形势严峻 随着互联网的快速发展,网络安全问题日益突出。各种网络攻击手段层出不穷,如分布式拒绝服…

结合小波变换的遥感语义分割网络,融合频域和空间域特征提升分割效果

题目:SFFNet: A Wavelet-Based Spatial and Frequency Domain Fusion Network for Remote Sensing Segmentation 论文:http://arxiv.org/abs/2405.01992 代码:https://github.com/yysdck/SFFNet 年份:2024 创新点 两阶段网络SFFNet:网络首先使用空间方法提取特征,以保…

论:即时战略RTS游戏的小地图采用 自下而上的汇报式 还是 自上而下的查找式?

关键词:RTS 小地图 游戏设计 思路 卫星 位置映射 阵营 更新 汇报 询问 UE4 UE5 Unreal Engine 前言 你是否想过类似红色警戒的战略小地图的要素是采用何种方式更新数据的。大量数据实时更新,考虑频率,运行效率,开发中如何选型&a…

「每日跟读」英语常用句型公式 第15篇

「每日跟读」英语常用句型公式 第15篇 1. It’s only logical that __ 合理的做法/结论是__ It’s only logical that we should take a break (合理的做法是我们应该休息一下) It’s only logical that we work hard to make money(合理…

SQL注入漏洞常用绕过方法

SQL注入漏洞 漏洞描述 Web 程序代码中对于用户提交的参数未做过滤就直接放到 SQL 语句中执行,导致参数中的特殊字符打破了原有的SQL 语句逻辑,黑客可以利用该漏洞执行任意 SQL 语句,如查询数据、下载数据、写入webshell 、执行系统命令以及…

详细分析Vue3中的ref(附Demo)

目录 前言1. 基本知识2. Demo 前言 由于新项目涉及Vue3,本着探究问题的本质研究所不会的疑问 1. 基本知识 ref 是 Vue 3 中用于创建响应式数据的函数 接收一个初始值并返回一个包含了该值的响应式引用对象与 Vue 2.x 中的 data 属性不同,ref 返回的是…

【JAVA入门】Day05 - 面向对象

【JAVA入门】Day05 - 面向对象 文章目录 【JAVA入门】Day05 - 面向对象一、对象的设计和使用1.1 类和对象1.2 类的分类 二、封装三、private 关键字四、this 关键字五、构造方法六、JavaBean七、对象的内存图7.1 一个对象的内存图7.2 两个对象的内存图7.3 两个引用指向同一个对…