.Net+MySQL组合开发(二) 数据访问篇

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:
一、建立数据库、表、添加数据
这里我们使用图形化操作的SQL Manager 2005 Lite for MySQL来建立数据,它的操作界面非常类似OFFICE软件,使用方便、很容量上手、下面开始建立数据库及表
单击"Creat New DataBase":新建DB

输入密码:


选择客户端编码为gb2312,防乱码;也可以在新建好的数据库右键选择"DataBase Registration Info"更改编码:

新建表:输入表名:

新建字段




点击加号,手动添加数据,点出对号,提交数据:

选择DDL选项,直接看到刚才操作的脚本;也可以不用上面的方式操作,直接写sql脚本来创建数据:

二、ADO.NET数据操作
推荐使用MySQL Connector Net 5.0.3
web.config添加连接字符串:
< add name = " MySqlServer "  connectionString = " Data Source=127.0.0.1;User ID=root;Password=123;DataBase=BOOK;Charset=gb2312 " />

为了方便,把对数据的访问封装到一个类中:
 1 //  执行sql 
 2 public   int  ExecuteSql( string  strSql, MySqlParameter [] myPar)
 3      {
 4        try
 5        {
 6            myConnection.Open();
 7            MySqlCommand cmd = new MySqlCommand(strSql, myConnection);
 8            if (myPar != null)
 9            {
10                foreach (MySqlParameter spar in myPar)
11                {
12                    cmd.Parameters.Add(spar);
13                }

14            }

15            int result = cmd.ExecuteNonQuery();
16            myConnection.Close();
17            return result;
18        }

19        catch
20        {
21            return 0;
22        }

23    }
获取数据:
 1   public  DataSet GetDataSet( string  strSql)
 2      {
 3        try
 4        {
 5            MySqlDataAdapter da = new MySqlDataAdapter(strSql, myConnection);
 6            DataSet ds = new DataSet();
 7            da.Fill(ds);
 8            return ds;
 9        }

10        catch
11        {
12            return null;
13        }

14    }

在页面中我们用一个gridview实现数据的读取、写入、编辑、删除等操作:

数据绑定:
1   // databind
2      protected   void  BindGrid()
3      {
4        DataSet ds = obj.GetDataSet("SELECT * FROM book ORDER BY bid");
5        GridView1.DataSource = ds;
6        GridView1.DataBind();
7        ds.Dispose();
8    }
添加数据:
 1   string  strSQL  =   " INSERT INTO book (bname,author,publish) VALUES (?bname,?author,?publish) " ;
 2             MySqlParameter[] mysp  =
 3              {
 4                new MySqlParameter ("?bname",MySqlDbType.VarChar ),
 5                new MySqlParameter ("?author",MySqlDbType.VarChar),
 6                new MySqlParameter ("?publish",MySqlDbType.VarChar)
 7            }
;
 8             mysp[ 0 ].Value  =  txtName.Text.Trim();
 9             mysp[ 1 ].Value  =  txtAuthor.Text.Trim();
10             mysp[ 2 ].Value  =  txtPublish.Text.Trim();
11              if  (obj.ExecuteSql(strSQL, mysp)  ==   1 )
12              {
13                Response.Write("<script>alert('提交成功');</script>");
14                BindGrid();
15                txtName.Text = txtAuthor.Text = txtPublish.Text = "";
16            }
注意参数符号是"?"而不是"@",这一点不同于sql server
其它编辑等操作代码等请下载文件
下载详细完整的代码文件 /Files/chy710/MySQL_ADONET.rar
下篇预告:mysql开发中的乱码问题
本文转自chy710博客园博客,原文链接:http://www.cnblogs.com/chy710/archive/2007/02/02/637935.html ,如需转载请自行联系原作者
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
打赏
0
0
0
0
66
分享
相关文章
【YashanDB知识库】MySQL迁移至崖山char类型数据自动补空格问题
**简介**:在MySQL迁移到崖山环境时,若字段类型为char(2),而应用存储的数据仅为&#39;0&#39;或&#39;1&#39;,查询时崖山会自动补空格。原因是mysql的sql_mode可能启用了PAD_CHAR_TO_FULL_LENGTH模式,导致保留CHAR类型尾随空格。解决方法是与应用确认数据需求,可将崖山环境中的char类型改为varchar类型以规避补空格问题,适用于所有版本。
【YashanDB知识库】字符集latin1的MySQL中文数据如何迁移到YashanDB
本文探讨了在使用YMP 23.2.1.3迁移MySQL Server字符集为latin1的中文数据至YashanDB时出现乱码的问题。问题根源在于MySQL latin1字符集存放的是实际utf8编码的数据,而YMP尚未支持此类场景。文章提供了两种解决方法:一是通过DBeaver直接迁移表数据;二是将MySQL表数据转换为Insert语句后手动插入YashanDB。同时指出,这两种方法适合单张表迁移,多表迁移可能存在兼容性问题,建议对问题表单独处理。
【YashanDB知识库】字符集latin1的MySQL中文数据如何迁移到YashanDB
Redis和Mysql如何保证数据⼀致?
1. 先更新Mysql,再更新Redis,如果更新Redis失败,可能仍然不⼀致 2. 先删除Redis缓存数据,再更新Mysql,再次查询的时候在将数据添加到缓存中 这种⽅案能解决1 ⽅案的问题,但是在⾼并发下性能较低,⽽且仍然会出现数据不⼀致的问题,⽐如线程1删除了 Redis缓存数据,正在更新Mysql,此时另外⼀个查询再查询,那么就会把Mysql中⽼数据⼜查到 Redis中 1. 使用MQ异步同步, 保证数据的最终一致性 我们项目中会根据业务情况 , 使用不同的方案来解决Redis和Mysql的一致性问题 : 1. 对于一些一致性要求不高的场景 , 不做处理例如 : 用户行为数据 ,
如何运用C#.NET技术快速开发一套掌上医院系统?
本方案基于C#.NET技术快速构建掌上医院系统,结合模块化开发理念与医院信息化需求。核心功能涵盖用户端的预约挂号、在线问诊、报告查询等,以及管理端的排班管理和数据统计。采用.NET Core Web API与uni-app实现前后端分离,支持跨平台小程序开发。数据库选用SQL Server 2012,并通过读写分离与索引优化提升性能。部署方案包括Windows Server与负载均衡设计,确保高可用性。同时针对API差异、数据库老化及高并发等问题制定应对措施,保障系统稳定运行。推荐使用Postman、Redgate等工具辅助开发,提升效率与质量。
D1net阅闻|OpenAI员工疯狂暗示,内部已成功开发ASI?被曝训出GPT-5但雪藏
D1net阅闻|OpenAI员工疯狂暗示,内部已成功开发ASI?被曝训出GPT-5但雪藏
一款基于 .NET MVC 框架开发、功能全面的MES系统
一款基于 .NET MVC 框架开发、功能全面的MES系统
101 5
ASP.NET MVC 教程
ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。
106 7
ASP.NET MVC 迅速集成 SignalR
ASP.NET MVC 迅速集成 SignalR
138 0
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
272 0
ASP.NET MVC WebApi 接口返回 JOSN 日期格式化 date format
ASP.NET MVC WebApi 接口返回 JOSN 日期格式化 date format
97 0

热门文章

最新文章

推荐镜像

更多
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等