以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  mysql 直接链接 datatable  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=194960)

--  作者:kk000
--  发布时间:2025/2/10 11:00:00
--  mysql 直接链接 datatable
 Dim conn As MySql.Data.MySqlClient.MySqlConnection
Dim cmd As MySql.Data.MySqlClient.MySqlCommand

Dim connStr As String = "server=localhost; port=3306; user id=root; password=abcd123; database=hn_data;CharSet=utf8" \'设置你的数据库连接字符串,注意我设置了字符编码为utf8,如果你的mysql里有中文字段,读取出来是乱码,就要记得设置mysql里你的字段的字符编码用utf8,这个世界最通用的字符编码格式!
conn = New MySql.Data.MySqlClient.MySqlConnection(connStr)
conn.Open

 
Dim mda As New MySql.Data.MySqlClient.MySQLDataAdapter("s elect * from data" , conn) \'这里可以设置你的查询语句
Dim ds As New System.Data.DataSet()
mda.Fill(ds, "TableTemp") \'MySQLDataAdapter方法把数据放到一个新建的临时表里,这个临时表名可自定义,我这里写TableTemp
e.form.controls("Table1").Table.DataSource = ds.Tables("TableTemp") \'把刚才的临时表TableTemp填充到我们的控件Table1里



Dim a As DataTable = e.form.controls("Table1").Table.DataTable


MessageBox.Show(a.DataRows.Count)

conn.close



蓝板请教下 以上代码使用 MySql.Data 库  可以 在面板中  创建了  数据表了

能否不加载窗体 的情况下 , 写入以下临时创建的datatable 呢  ?  求指点下

--  作者:有点蓝
--  发布时间:2025/2/10 11:12:00
--  
放到全局变量里,比如

vars("a") = ds.Tables("TableTemp")

--  作者:kk000
--  发布时间:2025/2/10 11:57:00
--  
 Dim conn As MySql.Data.MySqlClient.MySqlConnection
Dim cmd As MySql.Data.MySqlClient.MySqlCommand

Dim connStr As String = "server=localhost; port=3306; user id=root; password=aaa; database=hn_data;CharSet=utf8" \'设置你的数据库连接字符串,注意我设置了字符编码为utf8,如果你的mysql里有中文字段,读取出来是乱码,就要记得设置mysql里你的字段的字符编码用utf8,这个世界最通用的字符编码格式!
conn = New MySql.Data.MySqlClient.MySqlConnection(connStr)
conn.Open

 
Dim mda As New MySql.Data.MySqlClient.MySQLDataAdapter("s elect * from data" , conn) \'这里可以设置你的查询语句
Dim ds As New System.Data.DataSet()
mda.Fill(ds, "TableTemp") \'MySQLDataAdapter方法把数据放到一个新建的临时表里,这个临时表名可自定义,我这里写TableTemp
\'\'\'e.form.controls("Table1").Table.DataSource = ds.Tables("TableTemp") \'把刚才的临时表TableTemp填充到我们的控件Table1里

Dim t As Table = ds.Tables("TableTemp")

Dim a As DataTable = t.DataTable

MessageBox.Show(a.DataRows.Count)

conn.close

这样不行,ds 没有这个属性 .
[此贴子已经被作者于2025/2/10 17:11:07编辑过]

--  作者:有点蓝
--  发布时间:2025/2/10 12:08:00
--  
.net是使用的是system.data.datatable,和Foxtable的table以及datatable完全不是一回事。如果要使用第三方的东西,需要学很多.net的基础知识

Dim t As system.data.datatable = ds.Tables("TableTemp")

--  作者:kk000
--  发布时间:2025/2/10 13:05:00
--  
篮板 我的目的 就是想 不通过窗体的table 绑定数据

因为没有窗体,想临时创建表,把这个获取的 表放到临时的 datatable中去  这个

Dim t As system.data.datatable = ds.Tables("TableTemp")

怎么赋值到datatable 呢


--  作者:有点蓝
--  发布时间:2025/2/10 13:22:00
--  
没有办法直接赋值给Foxtable的datatable。要么直接在全局变量引用和直接使用.net的system.data.datatable,要么绑定到窗口表控件使用
--  作者:kk000
--  发布时间:2025/2/10 13:24:00
--  
 哦 好的 谢谢


--  作者:kk000
--  发布时间:2025/2/10 16:33:00
--  
篮板 那能否在 没有窗体的情况下 动态创建一个  table 去 承载 这个表呢
--  作者:有点蓝
--  发布时间:2025/2/10 16:37:00
--  
不能
--  作者:有点蓝
--  发布时间:2025/2/10 16:39:00
--  
可以考虑建一个表结构一样的临时表,然后把数据填充过来:http://www.foxtable.com/webhelp/topics/1533.htm