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

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:
一、建立数据库、表、添加数据
这里我们使用图形化操作的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添加连接字符串:
None.gif < add name = " MySqlServer "  connectionString = " Data Source=127.0.0.1;User ID=root;Password=123;DataBase=BOOK;Charset=gb2312 " />

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

14ExpandedSubBlockEnd.gif            }

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

19InBlock.gif        catch
20ExpandedSubBlockStart.gif        {
21InBlock.gif            return 0;
22ExpandedSubBlockEnd.gif        }

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

10InBlock.gif        catch
11ExpandedSubBlockStart.gif        {
12InBlock.gif            return null;
13ExpandedSubBlockEnd.gif        }

14ExpandedBlockEnd.gif    }

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

数据绑定:
1 None.gif   // databind
2 None.gif      protected   void  BindGrid()
3 ExpandedBlockStart.gif     {
4InBlock.gif        DataSet ds = obj.GetDataSet("SELECT * FROM book ORDER BY bid");
5InBlock.gif        GridView1.DataSource = ds;
6InBlock.gif        GridView1.DataBind();
7InBlock.gif        ds.Dispose();
8ExpandedBlockEnd.gif    }
添加数据:
 1 None.gif   string  strSQL  =   " INSERT INTO book (bname,author,publish) VALUES (?bname,?author,?publish) " ;
 2 None.gif            MySqlParameter[] mysp  =
 3 ExpandedBlockStart.gif             {
 4InBlock.gif                new MySqlParameter ("?bname",MySqlDbType.VarChar ),
 5InBlock.gif                new MySqlParameter ("?author",MySqlDbType.VarChar),
 6InBlock.gif                new MySqlParameter ("?publish",MySqlDbType.VarChar)
 7ExpandedBlockEnd.gif            }
;
 8 None.gif            mysp[ 0 ].Value  =  txtName.Text.Trim();
 9 None.gif            mysp[ 1 ].Value  =  txtAuthor.Text.Trim();
10 None.gif            mysp[ 2 ].Value  =  txtPublish.Text.Trim();
11 None.gif             if  (obj.ExecuteSql(strSQL, mysp)  ==   1 )
12 ExpandedBlockStart.gif             {
13InBlock.gif                Response.Write("<script>alert('提交成功');</script>");
14InBlock.gif                BindGrid();
15InBlock.gif                txtName.Text = txtAuthor.Text = txtPublish.Text = "";
16ExpandedBlockEnd.gif            }
注意参数符号是"?"而不是"@",这一点不同于sql server
其它编辑等操作代码等请下载文件
下载详细完整的代码文件 /Files/chy710/MySQL_ADONET.rar
下篇预告:mysql开发中的乱码问题
本文转自chy710博客园博客,原文链接:http://www.cnblogs.com/chy710/archive/2007/02/02/637935.html ,如需转载请自行联系原作者
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
6天前
|
SQL 关系型数据库 MySQL
Flink数据问题之连接mysql无数据输出如何解决
Apache Flink是由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎。本合集提供有关Apache Flink相关技术、使用技巧和最佳实践的资源。
|
8天前
|
开发框架 JavaScript 前端开发
5个.NET开源且强大的快速开发框架(帮助你提高生产效率)
5个.NET开源且强大的快速开发框架(帮助你提高生产效率)
|
20天前
|
关系型数据库 MySQL 数据库
rds迁移数据迁移工具选择
rds迁移数据迁移工具选择
31 3
|
2天前
|
SQL 运维 关系型数据库
如何对比MySQL主备数据的一致性?
如何在数据库世界中处理大批量数据变更操作,而不影响业务运行。NineData的OnlineDML解决方案通过无锁方式实现数据变更,确保在线业务的顺畅运行。只需两步操作即可开启OnlineDML功能,让NineData自动处理大型DML操作,分批执行并根据数据库压力进行智能调整,简化操作流程并提供直观操作界面。
34 2
如何对比MySQL主备数据的一致性?
|
2天前
|
关系型数据库 MySQL 数据库
|
1天前
|
关系型数据库 MySQL
Mysql基础第二十二天,插入数据
Mysql基础第二十二天,插入数据
9 0
|
1天前
|
关系型数据库 MySQL
Mysql基础第十六天,分组数据
Mysql基础第十六天,分组数据
9 0
|
1天前
|
关系型数据库 MySQL
Mysql基础第十五天,汇总数据
Mysql基础第十五天,汇总数据
9 0
|
1天前
|
关系型数据库 MySQL
Mysql基础第十天,数据过滤
Mysql基础第十天,数据过滤
13 0
Mysql基础第十天,数据过滤
|
1天前
|
关系型数据库 MySQL
Mysql基础第九天,过滤数据
Mysql基础第九天,过滤数据
19 0
Mysql基础第九天,过滤数据

推荐镜像

更多