Foxtable(狐表)用户栏目专家坐堂 → mysql连接内存释放


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

主题:mysql连接内存释放

帅哥,在线噢!
z769036165
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:760 积分:5430 威望:0 精华:0 注册:2012/10/5 21:53:00
mysql连接内存释放  发帖心情 Post By:2018/9/5 11:41:00 [显示全部帖子]

Dim conn As MySql.Data.MySqlClient.MySqlConnection
Dim cmd As MySql.Data.MySqlClient.MySqlCommand
Dim connStr As String = "server=192.168.1.1; port=3301; user id=root; password=root ; database=test;CharSet=utf8" '设置你的数据库连接字符串,注意我设置了字符编码为utf8,如果你的mysql里有中文字段,读取出来是乱码,就要记得设置mysql里你的字段的字符编码用utf8,这个世界最通用的字符编码格式!
conn = New MySql.Data.MySqlClient.MySqlConnection(connStr)
conn.Open
Dim mda1 As New MySql.Data.MySqlClient.MySQLDataAdapter("SE LECT * from po" , conn) '这里可以设置你的查询语句
Dim ds1 As New System.Data.DataSet()
mda1.Fill(ds1, "TableTemp1") 'MySQLDataAdapter方法把数据放到一个新建的临时表里,这个临时表名可自定义,我这里写TableTemp
e.form.controls("Table1").Table.DataSource = ds1.Tables("TableTemp1") '把刚才的临时表TableTemp填充到我们的控件Table1里
conn.close


请问这个mysql链接读取,在窗口中的读取内存不会释放,有没有办法可以对这个内存进行释放,测试了gc.collect()没有效果。

 回到顶部
帅哥,在线噢!
z769036165
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:760 积分:5430 威望:0 精华:0 注册:2012/10/5 21:53:00
  发帖心情 Post By:2018/9/5 13:09:00 [显示全部帖子]

还是一样的

 回到顶部
帅哥,在线噢!
z769036165
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:760 积分:5430 威望:0 精华:0 注册:2012/10/5 21:53:00
  发帖心情 Post By:2018/9/5 15:27:00 [显示全部帖子]

好一些了,但是还是不停的在增加,只是增长的值比以前少一半左右,原来打开一次增长60M,现在30~40M左右,会释放一些,网上找了个
System.Diagnostics.Process.GetCurrentProcess().MinWorkingSet = new System.IntPtr(5);这个也没用,看着是少了,但一操作又变回原来的内存大小。

 回到顶部
帅哥,在线噢!
z769036165
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:760 积分:5430 威望:0 精华:0 注册:2012/10/5 21:53:00
  发帖心情 Post By:2018/9/5 15:32:00 [显示全部帖子]

但是感觉好像后面在打开的时候增加的内存比之前的多了。。。。
[此贴子已经被作者于2018/9/5 15:32:06编辑过]

 回到顶部
帅哥,在线噢!
z769036165
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:760 积分:5430 威望:0 精华:0 注册:2012/10/5 21:53:00
  发帖心情 Post By:2018/9/5 15:36:00 [显示全部帖子]

我是放在窗口关闭后执行的,没什么特别大作用

 回到顶部
帅哥,在线噢!
z769036165
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:760 积分:5430 威望:0 精华:0 注册:2012/10/5 21:53:00
  发帖心情 Post By:2018/9/5 15:39:00 [显示全部帖子]

怎么在命令窗口执行第2段代码啊?不设置全局变量显示未设置对象变量,设置了的话但是全局变量里面类型都与这个不符啊?
[此贴子已经被作者于2018/9/5 15:39:33编辑过]

 回到顶部
帅哥,在线噢!
z769036165
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:760 积分:5430 威望:0 精华:0 注册:2012/10/5 21:53:00
  发帖心情 Post By:2018/9/5 16:15:00 [显示全部帖子]

跟我现在在窗口关闭后执行一样的结果,内存是减少了一点点,但是还是在增大

之前的错误是已经在窗口关闭后执行过一次了,再次执行报的错。
[此贴子已经被作者于2018/9/5 16:20:22编辑过]

 回到顶部
帅哥,在线噢!
z769036165
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:760 积分:5430 威望:0 精华:0 注册:2012/10/5 21:53:00
  发帖心情 Post By:2018/9/5 16:58:00 [显示全部帖子]

这个内存回收真头疼,用着用着就内存溢出了

 回到顶部
帅哥,在线噢!
z769036165
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:760 积分:5430 威望:0 精华:0 注册:2012/10/5 21:53:00
  发帖心情 Post By:2018/9/5 17:01:00 [显示全部帖子]

怎么获取当前运行的程序内存占用?做个判断,内存过高时提示重新关闭进程打开

 回到顶部
帅哥,在线噢!
z769036165
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:760 积分:5430 威望:0 精华:0 注册:2012/10/5 21:53:00
  发帖心情 Post By:2018/9/6 8:57:00 [显示全部帖子]

我发现不需要进行
'e.form.controls("Table2").Table.DataSource = ds1.Tables("TableTemp1") '把刚才的临时表TableTemp填充到我们的控件Table1里

我们直接从TableTemp1取值不就可以了么?
For Each dr As System.Data.DataRow In ds1.Tables("TableTemp1").Rows

Next
这样在临时表里面使用会回收内存

 回到顶部
总数 12 1 2 下一页