Foxtable(狐表)用户栏目专家坐堂 → 数据库连接组件,支持MySql、Sqlite、PostgreSQL、......等十几种数据库(2022-07-27增加达梦、人大金仓支持)


  共有113583人关注过本帖树形打印复制链接

主题:数据库连接组件,支持MySql、Sqlite、PostgreSQL、......等十几种数据库(2022-07-27增加达梦、人大金仓支持)

帅哥哟,离线,有人找我吗?
chnfo
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2198 积分:18064 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2021/2/7 16:43:00 [显示全部帖子]

如果要把外部的数据读到FT的表中,只能逐行赋值?有没有其它的方法哟?

Dim db = HySql.DataBaseFactory.CreateDatabase("AAA")
Dim Sql = "s e l e c t  * from TbA where pid = 'aaa'"
Dim dt As System.Data.DataTable = db.ExecuteDataSet(Sql).Tables(0)

'''要把外部数据源(例如mysql)的表中的数据读出来加载到FT的表中,只能逐行赋值?
Dim n As Integer = dt.Rows.count
DataTables("TbA").AddNew(n)

For i As Integer = 0 To n - 1
    Dim dr As DataRow = DataTables("TbA").DataRows(i)
    dr("第一列") = dt.Rows(i)("第一列")
    dr("第二列") = dt.Rows(i)("第二列")
Next


 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2198 积分:18064 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2021/2/7 17:11:00 [显示全部帖子]

在窗口表中加载我知,因为那是窗口临时表(定义的名称叫”表D“)嘛。
如果数据表也有一个表D(而且就是数据库文件中的表D)
因为数据表例如表A、表B、表C,它们都可能会引用表D的数据,不宜每次都要去执行下面这个嘛
Dim db = HySql.DataBaseFactory.CreateDatabase()
Dim Sql = "s e l e c t * from 表D"
Dim dt As system.data.DataTable = db.ExecuteDataSet(Sql).Tables(0)
dt.TableName = "表D"
Dim t As Table = e.Form.Controls("Table1").Table
t.datasource = dt
t.AllowEdit = True

所以,我是想把数据库文件中的表D的数据直接加载到FT的”表D“中,以方便其它的表引用数据。毕竟如果表D的数据量比较大的话,会影响效率
[此贴子已经被作者于2021/2/7 17:15:53编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2198 积分:18064 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2021/3/8 14:05:00 [显示全部帖子]

如果要把mysql的数据加载到FT的表中,就只有先把外部数据表X用executedataset到临时表X1,再遍历增加进指定的FT表中?实测中转一下,5w行数据,读到临时表约7秒,遍历进去30秒,这个比access用load都慢了4倍不止 要是能有什么方法把sql执行出来的数据高效地复制到FT中,那就完美了。几乎等同于支持mysql了。如果遍历逐行添加到客户端的表中,确实太慢了点儿
[此贴子已经被作者于2021/3/8 17:04:22编辑过]

 回到顶部
总数 14 上一页 1 2