TC官方合作论坛

 找回密码
 立即注册
查看: 8633|回复: 20

TC5.0 数据库功能探索

  [复制链接]
发表于 2015-3-17 11:42:11 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
     在TC5.0版本之前,有不少用户咨询,如何使用TC访问 sqlite 这种轻小型数据库,结论是使用各种插件才能辅助支持.
     在TC5.0版本中,已经内置了sqlite数据库,大家可以直接通过 下面两个函数来直接访问

  1. sqlitesqlarray(数据库位置,sql语句,返回数组)
复制代码
1. sqlitesqlarray 函数的命令
参数:
   数据库位置:顾名思义,大家明白是存放数据库的地方
   sql语句:在数据库中最常规的操作方式就是通过 命令执行sql语句 执行对应的操作,例如 创建表,插入数据,新增数据,删除数据等等
   返回数组: 这个将是我们要详细介绍的,大家只有知道了返回数组的详细结构,才能熟悉的操作,对应的结果


下面我们看一段代码 :
  1. 变量 ret_arr,err
  2.     变量 ret = sqlitesqlarray("d:/sdcard/test","create table test(id integer primary key autoincrement,name varchar(100))",ret_arr)//创建表
  3.     如果(!ret)
  4.         获取错误信息(err)
  5.         消息框("创建表:"& err)
  6.     结束
  7.    
  8.     遍历(变量 i=0;i < 10;i++)
  9.         ret = sqlitesqlarray("d:/sdcard/test","insert into test values(null,\'测试数据库" & i & "\');",ret_arr) // 表创建成功了,往表里面插入数据
  10.         如果(!ret)
  11.             获取错误信息(err)
  12.             消息框("插入数据:"& err)
  13.             返回 ""
  14.         结束
  15.     结束
  16.     //上面我们插入数据完成后 现在可以进入我们最后的步骤,查找数据,并以数组的方式返回
  17.     ret = sqlitesqlxml("d:/sdcard/test","select * from test",ret_arr)
  18.     如果(!ret)
  19.         获取错误信息(err)
  20.         消息框("查询数据:"& err)
  21.         返回 ""
  22.     结束
复制代码

看完上面的代码,大家应该有一个简单的了解:
1.访问sqlite数据库 是TC5.0的 内置api 不需要通过外部插件来实际,此接口可以访问不同版本的sqlite数据库 当然不同的版本之间会有微小的差异,这个请大家使用的过程中要注意一下返回的结果
2.所的有功能操作只在一个函数里面,方便易用
3.我们看下代码最后执行的数组返回数据的截图

123.png
图1
223.png
图2
224.png
图3(返回xml格式的图截图,图片展示格式有点乱)

2.传统数据库的应用
使用过4.0的小伙伴们应该都知道,TC提供了一个利用ODBC驱动访问数据的接口
  1. database(c**tr,sqlStr,rline,rtext,rerror)  
  2. 功能说明  连接数据库,执行一条SQL语句,理论上支持所有数据库(用户可自行在网上查询各种数据库连接字串),目前测试支持(MSSQL,MYSQL,ACCESS)
  3. c**tr:连接字串(每种数据库略有不同),不区分大小写,用户需根据自己实际情况填写连接字串
  4. sqlStl:要执行的SQL语句(每种数据库略有不同),不区分大小写
  5. rline:返回受影响的行数(如增删改了几行,查询时,该值为0,某些数据库下该值可能获取不到,这种情况下值也为0)
  6. rtext:如果为查询模式,返回查询数据的二维数组
  7. rerror:返回错误信息字符串
  8. 返回值 成功返回0,失败返回-1

复制代码

传统数据库 比较关键的一个点就是在于 odbc驱动的连接,但是这个在网上也有很多相关的教程直接学习,在帮助文档中也列了几类常用的 连接字符串 大家可以参考 下面是一个access数据库的演示源码
  1. var c**tr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&系统获取进程路径()&"yn.mdb"
  2.     var sql = "CREATE TABLE 创建( 姓名 VARCHAR(100) not NULL,年龄 VARCHAR(100) not null,性别 VARCHAR(100) not null)"
  3.     var line = 0
  4.     var ret_array
  5.     var err
  6.     var ret
  7.     sql = "SELECT * FROM 创建"
  8.     //查询数据
  9.     ret = database(c**tr,sql,line,ret_array,err)
复制代码
331.png
图4(返回的数组结果 与 sqlite数据库执行 返回的结果是一模一样的格式)

下面附件是我们今天详解简单的示例,大家可以下载学习 如何把数据库的内容写入表格

数据库演示.rar (72.82 KB, 下载次数: 1486)
回复

使用道具 举报

发表于 2015-3-17 13:23:07 | 显示全部楼层
顶一个~
回复

使用道具 举报

发表于 2015-3-17 18:11:11 | 显示全部楼层
谢谢,学习一下。。顺便请教下sqlite和Access用哪种好点呢?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-3-17 18:44:53 | 显示全部楼层
veeyoo 发表于 2015-3-17 18:11
谢谢,学习一下。。顺便请教下sqlite和Access用哪种好点呢?

sqlite 更加小巧
回复 支持 反对

使用道具 举报

发表于 2015-3-17 19:40:27 | 显示全部楼层

顶呀. 我已经在用5.0的写出来数据库了 确实比老版本的好用
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-3-17 21:29:38 | 显示全部楼层
qjj754 发表于 2015-3-17 19:40
顶呀. 我已经在用5.0的写出来数据库了 确实比老版本的好用

有什么问题 欢迎及时反馈,我们开发人员会立即处理
回复 支持 反对

使用道具 举报

发表于 2015-3-17 21:36:38 | 显示全部楼层
请问一下sqlite需要安装什么组件或是什么程序才能打开或用TC连接吗? Access呢?现在我是用Access,安装了整个office,因为电脑有wps了,卸载了office不知道TC还能连接上它不?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-3-17 22:00:45 | 显示全部楼层
指天椒 发表于 2015-3-17 21:36
请问一下sqlite需要安装什么组件或是什么程序才能打开或用TC连接吗? Access呢?现在我是用Access,安装了 ...

5.0内置了这种数据库类型 不需要安装任何其他程序或者组件 TC直接可以使用
回复 支持 反对

使用道具 举报

发表于 2015-3-18 18:26:28 | 显示全部楼层
不知道加多几条常用的命令好不好,比如创建,查询插入更新删除之类的给我们新手用,当需要深入的时候再完全自己写语句{:soso_e113:}
回复 支持 反对

使用道具 举报

发表于 2015-3-27 23:53:48 | 显示全部楼层
最好能做一个数据库完整例子{:soso_e183:},让菜鸟们学一下或有个大致了解
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-6-3 13:30 , Processed in 0.047125 second(s), 25 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

快速回复 返回顶部 返回列表