ADO.NET操作MySQL数据库
前言
ADO.NET包括5大对象,分别是Connection、Command、DataReader、DataSet、DataAdapter,使用ADO.NET访问数据库有两个步骤:建立数据库连接、读取或更新数据。读取数据主要有两种方法:Command与DataReader、DataAdapter与DataSet。
连接mysql数据库准备工作
第一步:建立数据库连接
1.定义全局变量
- //创建command对象
- private MySqlCommand cmd = null;
- //创建connection连接对象
- private MySqlConnection conn = null;
2.建立数据库连接
- //数据库连接字符串
- String connstr = "server=localhost;Database =test;uid=root;pwd=1;charset=utf8";
- //建立数据库连接
- conn = new MySqlConnection(connstr);
第二步:读取数据
1.command和DataReader对象读取数据
- MySqlDataReader reader = null;
- try
- {
- conn.Open(); //②打开数据库连接
- cmd = new MySqlCommand("select * from comment", conn); //③使用指定的SQL命令和连接对象创建SqlCommand对象
- reader = cmd.ExecuteReader(); //④执行Command的ExecuteReader()方法
- //⑤将DataReader绑定到数据控件中
- DataTable dt = new DataTable();
- dt.Load(reader);
- dataGridView1.DataSource = dt;
- }catch (Exception){
- throw;
- }finally{
- //⑥关闭DataReader
- reader.Close();
- //⑦关闭连接
- conn.Close();
- }
2.DataSet和DataAdapter对象读取数据
- try
- {
- string mysqlText = "select * from comment;";
- //使用指定的SQL命令和连接对象创建SqlDataAdapter对象
- MySqlDataAdapter mysda = new MySqlDataAdapter(mysqlText, conn);
- DataSet ds = new DataSet(); //创建DataSet对象
- //使用SqlDataAdapter的Fill方法填充DataSet mysda.Fill(ds, "comment");
- //将DataSet中的表绑定到数据控件中
- BindingSource bs;
- bs = new BindingSource();
- bs.DataSource = ds.Tables["comment"];
- dataGridView1.DataSource = bs;
- }
- catch (Exception) {
- throw;
- }
第三步:更新数据
1.command对象更新数据
- //数据库连接字符串
- String connstr = "server=localhost;Database =test;uid=root;pwd=1;charset=utf8";
- //建立数据库连接
- using (conn = new MySqlConnection(connstr))
- {
- conn.Open();
- //启动一个事务
- using (MySqlTransaction transaction = conn.BeginTransaction())
- {
- using (cmd=conn.CreateCommand())
- {
- try
- {
- cmd.Transaction = transaction; //为命令指定事务
- cmd.CommandText = "insert into comment(quantity,comment) value('11','很好');";
- cmd.ExecuteNonQuery();
- cmd.CommandText = "insert into comment(quantity,comment) value('12','很好');";
- cmd.ExecuteNonQuery();
- transaction.Commit(); //事务提交
- }
- catch (Exception)
- {
- transaction.Rollback(); //事务回滚
- }
- }
- }
- }
2.DataAdapter对象更新数据
- <span style="font-size:18px;">//数据库连接字符串
- String connstr = "server=localhost;Database =test;uid=root;pwd=1;charset=utf8";
- //建立数据库连接
- conn = new MySqlConnection(connstr);
- try
- {
- //comment是表名,quantity是字段名
- string mysqlText = "select * from comment;";
- MySqlDataAdapter mysda = new MySqlDataAdapter(mysqlText, conn);
- DataSet ds = new DataSet();
- mysda.Fill(ds, "comment");
- //绑定MySqlDataAdapter对象,自动生成从DataSet更新MySql的命令
- MySqlCommandBuilder cb = new MySqlCommandBuilder(mysda);
- //更新ds中的数据
- ds.Tables["comment"].Rows[0]["quantity"] = 111;
- //更新数据库中的数据
- mysda.Update(ds, "comment");
- }
- catch (Exception)
- {
- throw;
- }</span>
总结
ADO.NET操作MySQL数据库的更多相关文章
- 以ADO形式操作mysql数据库
首先得需要一个连接mysql的helper类: public class MySqlHelper { #region [ Connection ] public static string conne ...
- Code First操作Mysql数据库
前面博客也讲了,自己做一个网站,选用的是MVC+EF Code First+MySql+EasyUI,先说下技术选型.一.为什么选择MVC? 因为之前自己做的系统大部分是webForm,MVC的之前也 ...
- C++操作Mysql数据库/Linux下
本文链接:https://blog.csdn.net/Tanswer_/article/details/72796570想用C++写项目,数据库是必须的,所以这两天学了一下C++操作Mysql数据库的 ...
- PHP操作MySQL数据库5个步骤
PHP操作MySQL数据库一般可分为5个步骤:1.连接MySQL数据库服务器:2.选择数据库:3.执行SQL语句:4.关闭结果集:5断开与MySQL数据库服务器连接. 1.用mysql_connect ...
- python操作mysql数据库的相关操作实例
python操作mysql数据库的相关操作实例 # -*- coding: utf-8 -*- #python operate mysql database import MySQLdb #数据库名称 ...
- 转 用C API 操作MySQL数据库
用C API 操作MySQL数据库 参考MYSQL的帮助文档整理 这里归纳了C API可使用的函数,并在下一节详细介绍了它们.请参见25.2.3节,“C API函数描述”. 函数 描述 mysql_a ...
- PHP操作mysql数据库:[2]查询数据听语音
本文主要详细讲解如何使用php语言,对mysql数据库进行查询.添加.删除.更新等操作. 工具/原料 Macromedia Dreamweaver 8 mysql数据库,php语言 一.前言 ...
- JDBC操作MySQL数据库案例
JDBC操作MySQL数据库案例 import java.sql.Connection; import java.sql.DriverManager; import java.sql.Prepared ...
- shell脚本操作mysql数据库
shell脚本操作mysql数据库,使用mysql的-e参数可以执行各种sql的(创建,删除,增,删,改.查)等各种操作 mysql -hhostname -Pport -uusername -pp ...
随机推荐
- 3109. [CQOI2013]新数独【DFS】
Description Input 输入一共15行,包含一个新数独的实例.第奇数行包含左右方向的符号(<和>),第偶数行包含上下方向的符号(^和v). Output 输出包含9行,每行 ...
- P3174 [HAOI2009]毛毛虫
题目描述 对于一棵树,我们可以将某条链和与该链相连的边抽出来,看上去就象成一个毛毛虫,点数越多,毛毛虫就越大.例如下图左边的树(图 1 )抽出一部分就变成了右边的一个毛毛虫了(图 2 ). 输入输出格 ...
- Django中模型(三)
Django中模型(三) 四.模型成员 1.类属性 objects:是Manager类的一个对象,作用是与数据库进行交互. 定义模型类时,没有定义管理器,则默认创建名为objects的管理器. 2.自 ...
- SpringBoot实战(三)之使用RestFul Web服务
一.导入maven依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns=" ...
- background-position详解
一.background-position:left top; 背景图片的左上角和容器(container)的左上角对齐,超出的部分隐藏.等同于 background-position:0,0;也等同 ...
- 安卓混合开发——原生Java和H5交互,保证你一看就懂!
** 在Android开发中,越来越多的商业项目使用了Android原生控件与WebView进行混合开发,当然不仅仅就是显示一个WebView那么简单,有时候还需要本地Java代码与HTML中的Jav ...
- ASP.Net GridView 基础 Template模板
一.了解Template AlternatingItemTemplate定义交替行的内容和外观,如果没有规定模板,则使用ItemTemplate:EditItemTemplate定义当前正在编辑的行的 ...
- 【luogu P1608 路径统计】 题解
题目链接:https://www.luogu.org/problemnew/show/P1608 补上一发最短路计数! 感谢王强qwqqqq @Lance1ot #include <queue& ...
- Java Activiti6.0 spring5 SSM 工作流引擎 审批流程 java项目框架
1.模型管理 :web在线流程设计器.预览流程xml.导出xml.部署流程 2.流程管理 :导入导出流程资源文件.查看流程图.根据流程实例反射出流程模型.激活挂起 3.运行中流程:查看流程信息.当前任 ...
- java基础需要掌握的内容
一.Java的基本程序设计结构 二.对象与类 三.继承 四.接口.lambda表达式与内部类 五.异常,断言与日志 六.泛型程序设计 七.集合 八.并发(线程) 九.输入与输出(IO流) 十.网络 十 ...