C#连接MYSQL数据库并进行查询

简介: 之前用MFC开发结果界面太难看被pass了,要求用C#重新来开发>_<,不过终于摆脱VC6.0的蛋疼操作了Y。 先来连接数据库 (1)用c#连接MYSQL数据库需要用到mysql-connector-net,这个组件网上查找就可以下载,安装直接按next,按默认路径安装; (2)新建一个Winfrom工程后,引用这个组件 在解决方案资源管理器中右键引用-&

之前用MFC开发结果界面太难看被pass了,要求用C#重新来开发>_<,不过终于摆脱VC6.0的蛋疼操作了Y。
先来连接数据库
(1)用c#连接MYSQL数据库需要用到mysql-connector-net,这个组件网上查找就可以下载,安装直接按next,按默认路径安装;
(2)新建一个Winfrom工程后,引用这个组件
在解决方案资源管理器中右键引用->添加引用->浏览,浏览路径为安装mysql-connector-net的路径,如我的路径为:C:\Program Files (x86)\MySQL\MySQL Connector Net 6.6.4\Assemblies\v2.0
选择MySql.Data.dll,再确定
这里写图片描述
(3)在工程中添加:

using MySql.Data.MySqlClient;
using System.Data.SqlClient;

(4)
这里进行简单的页面布局,用了一个按钮,一个listview控件,一个dataGridView控件,其中listview控件名字为listview1,dataGridView控件名字为dataGridView1
这里写图片描述
(4)对listView进行简单的设计来适合数据呈现:
在属性中选择GridLines改为true
新建一个函数如下:

  private void bindListCiew()
        {
            this.listView1.Columns.Add("学生");
            this.listView1.Columns.Add("ID");
            this.listView1.View = System.Windows.Forms.View.Details;

        }

添加两列 学生,ID 实际情况可以根据需求添加;
注意加上this.listView1.View = System.Windows.Forms.View.Details;
否则不会有变化

 private void Form1_Load(object sender, EventArgs e)
 {
     bindListCiew();
  }

(5)为按钮添加函数:

 private void button1_Click(object sender, EventArgs e)
        {
            MySqlConnection myconn = null;
            MySqlCommand mycom = null;
            MySqlDataAdapter myrec = null;
            myconn = new MySqlConnection("Host =localhost;Database=student;Username=lemon;Password=123");
            myconn.Open();
            mycom = myconn.CreateCommand();
            mycom.CommandText = "SELECT *FROM student1";
            MySqlDataAdapter adap = new MySqlDataAdapter(mycom);
            DataSet ds = new DataSet();
            adap.Fill(ds);
            dataGridView1.DataSource = ds.Tables[0].DefaultView;
            string sql = string.Format("select * from student1 ");
            mycom.CommandText = sql;
            mycom.CommandType = CommandType.Text;
            MySqlDataReader sdr = mycom.ExecuteReader();
            int i = 0;
            while (sdr.Read())
            {
                listView1.Items.Add(sdr[0].ToString());
                listView1.Items[i].SubItems.Add(sdr[1].ToString());
                i++;
            }
            myconn.Close();
        }

其中

  myconn = new MySqlConnection("Host =localhost;Database=****;Username=***;Password=***");
            myconn.Open();

为数据库的连接,输入Database,username,password

 mycom = myconn.CreateCommand();
            mycom.CommandText = "SELECT *FROM student1";
            MySqlDataAdapter adap = new MySqlDataAdapter(mycom);
            DataSet ds = new DataSet();
            adap.Fill(ds);
            dataGridView1.DataSource = ds.Tables[0].DefaultView;

生成一个command 查询数据添加到dataGridView中,这里简单地将数据全部添加进控件中,这个控件打印出来的表格不怎么好看,觉得还是listview好看

剩下的代码是进行listview的显示
其中

listView1.Items.Add(sdr[0].ToString());              listView1.Items[i].SubItems.Add(sdr[1].ToString());
               i++;

这是对行的数据的添加;
最后的结果为:
这里写图片描述

在student1表中我数据为:
这里写图片描述
开发起来比vc6.0起来好一点;
这里写图片描述
这世界上的一切罪与罚,我们都会一起承受。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
目录
相关文章
|
11月前
|
SQL 缓存 监控
MySQL缓存机制:查询缓存与缓冲池优化
MySQL缓存机制是提升数据库性能的关键。本文深入解析了MySQL的缓存体系,包括已弃用的查询缓存和核心的InnoDB缓冲池,帮助理解缓存优化原理。通过合理配置,可显著提升数据库性能,甚至达到10倍以上的效果。
|
11月前
|
SQL 存储 关系型数据库
MySQL体系结构详解:一条SQL查询的旅程
本文深入解析MySQL内部架构,从SQL查询的执行流程到性能优化技巧,涵盖连接建立、查询处理、执行阶段及存储引擎工作机制,帮助开发者理解MySQL运行原理并提升数据库性能。
|
10月前
|
存储 机器学习/深度学习 监控
网络管理监控软件的 C# 区间树性能阈值查询算法
针对网络管理监控软件的高效区间查询需求,本文提出基于区间树的优化方案。传统线性遍历效率低,10万条数据查询超800ms,难以满足实时性要求。区间树以平衡二叉搜索树结构,结合节点最大值剪枝策略,将查询复杂度从O(N)降至O(logN+K),显著提升性能。通过C#实现,支持按指标类型分组建树、增量插入与多维度联合查询,在10万记录下查询耗时仅约2.8ms,内存占用降低35%。测试表明,该方案有效解决高负载场景下的响应延迟问题,助力管理员快速定位异常设备,提升运维效率与系统稳定性。
390 4
|
11月前
|
SQL 监控 关系型数据库
SQL优化技巧:让MySQL查询快人一步
本文深入解析了MySQL查询优化的核心技巧,涵盖索引设计、查询重写、分页优化、批量操作、数据类型优化及性能监控等方面,帮助开发者显著提升数据库性能,解决慢查询问题,适用于高并发与大数据场景。
|
11月前
|
SQL 关系型数据库 MySQL
MySQL的查询操作语法要点
储存过程(Stored Procedures) 和 函数(Functions) : 储存过程和函数允许用户编写 SQL 脚本执行复杂任务.
389 14
|
11月前
|
SQL 关系型数据库 MySQL
MySQL的查询操作语法要点
以上概述了MySQL 中常见且重要 的几种 SQL 查询及其相关概念 这些知识点对任何希望有效利用 MySQL 进行数据库管理工作者都至关重要
274 15
|
11月前
|
SQL Java 关系型数据库
Java连接MySQL数据库环境设置指南
请注意,在实际部署时应该避免将敏感信息(如用户名和密码)硬编码在源码文件里面;应该使用配置文件或者环境变量等更为安全可靠地方式管理这些信息。此外,在处理大量数据时考虑使用PreparedStatement而不是Statement可以提高性能并防止SQL注入攻击;同时也要注意正确处理异常情况,并且确保所有打开过得资源都被正确关闭释放掉以防止内存泄漏等问题发生。
494 13
|
11月前
|
SQL 关系型数据库 MySQL
MySQL数据库连接过多(Too many connections)错误处理策略
综上所述,“Too many connections”错误处理策略涉及从具体参数配置到代码层面再到系统与架构设计全方位考量与改进。每项措施都需根据具体环境进行定制化调整,并且在执行任何变更前建议先行测试评估可能带来影响。
1877 11
|
12月前
|
存储 关系型数据库 MySQL
使用命令行cmd查询MySQL表结构信息技巧分享。
掌握了这些命令和技巧,您就能快速并有效地从命令行中查询MySQL表的结构信息,进而支持数据库维护、架构审查和优化等工作。
900 9

推荐镜像

更多