前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[VB开发安卓]B4A工具包OhhTools教程(一)数据库操作类介绍

[VB开发安卓]B4A工具包OhhTools教程(一)数据库操作类介绍

作者头像
一线编程
发布2023-03-02 13:25:46
1.5K1
发布2023-03-02 13:25:46
举报
文章被收录于专栏:办公魔盒办公魔盒

B4A工具包OhhTools文章合集

B4A工具包OhhTools教程(一)

首先解决,首版发布群友在使用过程中遇到的问题

原因分析:根据错误提示,知道是因为JDK8,引入了新的时间格式化函数parse,而HuTool工具包用的是新的jdk编译,因此群友使用旧的JDK编译B4A程序,运行时,导致错误的出现

解决方案:安装最新版的JDK即可,建议安装351版本以上,B4A也建议更新到最新的V12正式版,可以使用跟多的新函数

环境安装套件已放后台,后台回复关键字B4A_OhhTools工具包,即可获取下载链接

B4A环境套件安装教程(以前发过视频,可以返回去看视频)

•1.下载解压包•2.把解压包里面AndroidSDK文件夹,解压到,D,E,F随便一个磁盘•3.安装JAVA,如果电脑已经有JAVA请核对版本是否大于JDK 351版本,如果低于请卸载旧版java,然后双击"jdk-8u351-windows-x64.exe"安装包,进行java安装,一路,下一步,下一步即可,建议都使用默认路径•4.安装B4A,如果已经安装旧版的B4A卸载干净后,双击"B4A_v12_正式版.exe"安装包,进行B4A安装建议,下一步,下一步,建议默认就好•5.配置B4A•5.1. 现在D,E,F磁盘创建一个名叫"B4A_Libs"的文件夹,用于存放B4A额外类库•5.2.打开B4A,点击tools->IDE Options->中文简体,设置中文语言•5.3.打开B4A,点击"工具->配置路径->配置javac路径(默认安装:C:\Program Files\Java\jdk1.8.0_351\bin\javac.exe)"•5.4.打开B4A,点击"工具->配置路径->配置android.jar路径(默认安装:E,D,F:\F:\AndroidSDK\platforms\android-33\android.jar)"•5.5.打开B4A,点击"工具->配置路径->配置额外类库路径(默认安装:E,D,F:\F:\B4A_Libs)"


B4A_OhhTools工具包数据类的应用(MySQL,MSSQL,ORACL等几个数据库类使用方法一致,这里只介绍MySQL数据库)

1.引入OhhTool工具类

1.1. 下载工具类后,把压缩包里面的所有文件复制到额外类库文件夹下即可

1.2. 在B4A里面引用OhhTool即可调用里面的工具类ohhMySQLHelper

代码语言:javascript
复制
Dim MySQL As ohhMySQLHelper

数据库操作ohhMySQLHelper,ohhMSSQLHelper,ohhOracleHelper工具类简介

1.在开始前,先认识一下B4A里面的集合对象map,list

1.1.MAP对象相当于VB里面的字典(Dictionary)集合,都是键值对集合,而且键都是唯一的,同样的我们也可以把它理解成JSON字符串里面的{}花括号对象,

示例:

1.1.1.往map里面装数据

代码语言:javascript
复制
Dim mp As Map
mp.Initialize
mp.Put("A","1")
mp.Put("B","2")
mp.Put("C","3")

log(mp) 输出的结果:{A=1, B=2, C=3}

1.1.2.取出map里面所有键值对

代码语言:javascript
复制
For i = 0 To mp.Size - 1
    Log("键: " & mp.GetKeyAt(i))
    Log("值: " & mp.GetValueAt(i))
Next

1.1.3.取出B键的值2,类似VB的dic.item("B"),这里只是把item()改成get()即可

代码语言:javascript
复制
Log(mp.Get("B")) 输出的结果:2

1.2.List列表集合,类似于VB的数组或者集合对象collections,但是跟VB.NETList泛型对象非常相似

示例:

1.2.1.往List里面装数据

代码语言:javascript
复制
Dim lst As List
lst.Initialize
lst.Add("A")
lst.Add("B")
lst.Add("C")

Log(lst) 输出的结果:[A, B, C]

1.2.2.取出List里面所有元素

代码语言:javascript
复制
For i=0 To lst.Size-1
    Log(lst.Get(i))
Next

1.2.3.取出下标位2的值,同样类似vb数组的,索引从0开始,所以去第二的元素就是1,同样使用的是get()方法

代码语言:javascript
复制
Log(lst.Get(1)) 输出的结果:B

2.介绍一下数据库操作的几个函数和作用,及数据结构

2.1 InitializeInitialize2函数都是初始化类的,相当于VBnew关键字

•包含以下参数:

序号

参数名

描述

1

eventname

B4A事件名称,用于触发事件时回调的函数

2

user

数据库账号

3

password

数据库密码

4

host

数据库地址

5

dbname

数据库名称

•方法2,增加以下参数:

序号

参数名

描述

6

port

数据库端口

7

character

数据库连接编码(utf-8,gbk,gb2312)

8

serverTimezon

时区(UTC,GMT%2B8)

2.2 IsInitialized检测数据库链接对象是否初始化,以下是用法示例

代码语言:javascript
复制
注意:这里最好添加延时,超过延时了退出循环(方式出现死循环)
Do While msql.IsInitialized=False
    Sleep(0)
    ''延时处理
    ''................
Loop

2.3 ExecuteNonQuery函数用于执行无返回的SQL命令语句INSERT, UPDATE, DELETE等命令语句

代码语言:javascript
复制
msql.ExecuteNonQuery("update t_test set A=123 where id=1")

2.4 ExecuteQueryFristRow函数用于执行查询语句Select,且只返回第一行数据,数据结构为map对象

代码语言:javascript
复制
Dim mp As Map=msql.ExecuteQueryFristRow("SELECT * FROM t_user")
''取出全部字段和值
For i = 0 To mp.Size - 1
    Log("字段名称: " & mp.GetKeyAt(i))
    Log("字段值: " & mp.GetValueAt(i))
Next
''取出某个字段的值

log(mp.get("字段名称")) ''上文已经有介绍map用法

2.5 ExecuteQueryExecuteQuery2函数用于执行查询语句Select,且返回全部数据;这两个的函数区别在于但会的数据结构不一样,ExecuteQuery返回的数据结构是List对象里面包含N多个map对象,每个map就是数据表里面的一行数据;ExecuteQuery2返回的数据结构是List对象里面包含N多个List对象,而里面的每个list对象就是就是数据表里面的一行数据,使用时可以根据数据解析需要,调用不同的方法

代码语言:javascript
复制
   ''方法1取数
    Dim lst As List=msql.ExecuteQuery("SELECT * FROM t_user")
    For Each mp  As Map In lst
        For i = 0 To mp.Size - 1
            Log("字段名称: " & mp.GetKeyAt(i))
            Log("字段值: " & mp.GetValueAt(i))
        Next
    Next
    ''方法1取数
   Dim lst As List=msql.ExecuteQuery2("SELECT * FROM t_user")
    For Each ls  As List In lst
        For i = 0 To ls.Size-1
            Log("字段值: " & ls.Get(i))
        Next
    Next

2.6 ExecuteQueryToJson函数用于执行查询语句Select,且返回全部数据,而数据结构是一个JSON字符串

代码语言:javascript
复制
    Dim jsonstr As String=msql.ExecuteQueryToJson("SELECT * FROM t_user")
    Dim js As JSONParser ''引用JSON类库
    js.Initialize(jsonstr)
    Dim lst As List =js.NextArray
    For Each mp As Map In lst
        For i = 0 To mp.Size - 1
            Log("字段名称: " & mp.GetKeyAt(i))
            Log("字段值: " & mp.GetValueAt(i))
        Next
    Next

2.7 ExecuteQueryTableList函数用于返回当前数据库的所有表名称

代码语言:javascript
复制
   Dim lst As List=msql.ExecuteQueryTableList
    For Each ls  As List In lst
        For i = 0 To ls.Size-1
            Log("表名: " & ls.Get(i))
        Next
    Next

2.8 ExecuteQueryColumnListExecuteQueryColumnList2函数用于返回指定数据表的所有字段名称,字段类型,字段描述,二者的区别是是否指定数据库,数据表

代码语言:javascript
复制
   Dim lst As List=msql.ExecuteQueryColumnList("t_test")
    For Each mp  As Map In lst
        For i = 0 To mp.Size - 1
            Log("名称: " & mp.GetKeyAt(i))
            Log("值: " & mp.GetValueAt(i))
        Next
    Next
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-11-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 办公魔盒 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • B4A工具包OhhTools教程(一)
    • 首先解决,首版发布群友在使用过程中遇到的问题
      • B4A环境套件安装教程(以前发过视频,可以返回去看视频)
        • B4A_OhhTools工具包数据类的应用(MySQL,MSSQL,ORACL等几个数据库类使用方法一致,这里只介绍MySQL数据库)
          • 数据库操作ohhMySQLHelper,ohhMSSQLHelper,ohhOracleHelper工具类简介
          相关产品与服务
          数据库
          云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档