C# 链接图到Mysql
我又被绊倒了。是否有任何方法可以将图形从表单“连接”到MYSQL数据库?我建立了连接(表单->数据库)。我希望该图能够自动从数据库中加载列和值。非常感谢 好的,我假设您想显示C# 链接图到Mysql,c#,mysql,C#,Mysql,我又被绊倒了。是否有任何方法可以将图形从表单“连接”到MYSQL数据库?我建立了连接(表单->数据库)。我希望该图能够自动从数据库中加载列和值。非常感谢 好的,我假设您想显示图表 它很容易使用,只需将其放在表单上,定义其系列和加载点 您要查找的部分或所有信息都在每个DBMS的元表中;在MYSQL中,它们位于各种信息\u模式表中。下面的示例将所有表名及其列数加载到名为chu tables的图表中,该图表包含一个名为columns的系列。它假定您有一个名为DBC的打开的连接,以及参数中提供的数据库
图表
它很容易使用,只需将其放在表单上,定义其系列和加载点
您要查找的部分或所有信息都在每个DBMS的元表中;在MYSQL中,它们位于各种信息\u模式
表中。下面的示例将所有表名及其列数加载到名为chu tables
的图表中,该图表包含一个名为columns
的系列。它假定您有一个名为DBC
的打开的连接
,以及参数中提供的数据库
public void loadChart(string schema)
{
try
{
string allTables =
" SELECT table_name, count(COLUMN_NAME) "
+ " FROM information_schema.COLUMNS "
+ " where table_schema = '" + schema + "' group by table_name" ;
MySqlCommand cmd = new MySqlCommand(allTables, DBC);
MySqlDataReader rdr = cmd.ExecuteReader();
ch_tables.Series["columns"].Points.Clear();
while (rdr.Read())
{
ch_tables.Series["columns"].Points.AddXY(rdr[0], rdr[1]);
}
rdr.Close();
}
catch (MySqlException ex) { /* error handling */ }
}
我希望这能让你开始扩展它,并创建其他图表
information\u schema
表包含了很多有趣的东西;您可以在信息\u schema.TABLES
中找到表格中的行数
当问问题时,最好给我们和你自己尽可能多的细节。在Excel中创建一个虚拟图表是一个好主意,可以显示您的意思
编辑:我意外地硬编码了架构名称,尽管函数准备读取动态选择数据库。这是一种罕见的情况,即使在多次阅读您的问题后,我也不知道您想做什么。好吧,我想制作一个图表来显示我的数据库中有多少列和值,以及我的数据库有多少重载……这是我的任务:“该应用程序允许显示一个描述表之间关系的图形,并且该应用程序允许创建另一个图形,该图形描述数据库中表中值的级别**任何数据库,该图表都需要为任何表进行数字更新。如果我要更改collumn名称,图表需要知道新的列名!)有什么帮助吗?谢谢,重点是我想将图表随机加载到我连接的任何数据库中。如果你是指MYSQL以外的其他数据库,你必须检查它们各自的元表;它们都有它们,但并非所有的命名和结构都相同。也看到我的编辑!这是我的任务:“该应用程序允许显示一个描述表之间关系的图形,并且该应用程序允许创建另一个图形,该图形描述数据库中表中值的级别**任何数据库,该图表都需要为任何表进行数字更新。如果我要更改collumn名称,图表需要知道新的列名!)有什么帮助吗?谢谢我试过你的代码,它只适用于每个表中有多少列。但是我需要每个表中有多少行。如果我在图表中写入SELECT table_name,count(table_ROWS)“+”FROM information_schema.TABLES”,它只显示1…并且我有很多行…您可以直接选择table_ROWS。下面是一个带有硬编码模式名称的SQL:SELECT information_schema.COLUMNS.table_name,count(COLUMN_name),来自information_schema.COLUMNS的table_行,其中information_schema.COLUMNS.table_schema='test'和information_schema.COLUMNS.table_name=information_schema.TABLES.table_name按information_schema.COLUMNS.table_name分组;