以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  DataSource 绑定问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=140919)

--  作者:z769036165
--  发布时间:2019/9/17 15:08:00
--  DataSource 绑定问题
通过
Dim conn As MySql.Data.MySqlClient.MySqlConnection
Dim cmd As MySql.Data.MySqlClient.MySqlCommand
Dim connStr As String = "server=localhost; port=3301; user id=root; password=root ; database=default;CharSet=utf8"
conn = New MySql.Data.MySqlClient.MySqlConnection(connStr)
conn.Open
Dim mda As New MySql.Data.MySqlClient.MySQLDataAdapter("se lect * from t1" , conn) 
Dim ds As New System.Data.DataSet()
mda.Fill(ds, "TableTemp") \'MySQLDataAdapter
e.form.controls("Table1").Table.DataSource = ds.Tables("TableTemp") 
conn.close

vars("dt") = e.form.controls("Table1").Table.datatable


在新窗口的table 用DataSource 指定为 vars("dt") 后,关闭窗口就报错。


--  作者:有点蓝
--  发布时间:2019/9/17 15:29:00
--  
全局变量的datatable,请不要用来绑定窗口,因为是同一个引用,窗口关闭会被销毁。同时临时表不能绑定多个窗口的。如果需要请重新获取datatable
--  作者:z769036165
--  发布时间:2019/9/17 15:58:00
--  
问题是重新获取每次内存都增大,这个获取的表比较大,获取不了几次就内存溢出了,之前是可以的,现在版本升级那个内存泄露问题后就不行了
--  作者:有点蓝
--  发布时间:2019/9/17 16:16:00
--  
那就不要使用全局变量保留,绑定后释放掉
 
conn.close
e.form.controls("Table1").Table.DataSource = ds.Tables("TableTemp")
ds.Tables.clear
ds = nothing

或者不要一次取太多数据,分页加载

--  作者:z769036165
--  发布时间:2019/9/23 17:07:00
--  
主要是分页加载有时候卡顿的情况比较严重
在模糊搜索时喜欢用TextChanged这种查询,查询输入的时候很不流畅

--  作者:有点蓝
--  发布时间:2019/9/23 17:26:00
--  
这个本来就是一个矛盾,只能取一个合适的用法。加载合适的数量,减少模糊搜索的使用
--  作者:z769036165
--  发布时间:2019/9/23 17:59:00
--  
主要是看java写的那个模糊查询加载200行的就比较流畅