zoukankan      html  css  js  c++  java
  • (原创)C#操作MYSQL数据库

    应用程序对数据库的操作都是只有4个:增,删,改,查。

    只有”查”的操作需要使用适配器来存储查询得到的数据。其它3个操作不需要用到适配器。

    不同的数据库有共同操作方法:都要建立连接对象,连接对象要有连接字符串,连接字符串用来指定数据库的位置。因为数据库可以是在本机(也就是和应用程序在同一台机器上),也可以是局域网中的某台服务器。所以,连接字符串都会有服务器名,用户名,密码,数据库名这几样东西。

    数据库也是1个应用程序,也就说C#应用程序读写操作数据库就是2个应用程序之间的访问操作。所以不同的数据库之间的访问操作都不一样。每个数据库都会提供动态链接库.dll来给C#编程使用,在解决方案的“引用”处右键添加引用-》找到从数据库厂家网站上下载得到的.dll文件,你在需要编程的.cs文件的头部就可以使用动态链接库提供的类对象来操作数据库了。

    Dll库里面包含多个不同功能的命名空间,命名空间里面有多个类,我只需要使用其中1个命名空间,如下的using MySql.Data.MySqlClient;

    这个命名空间有MySqlConnection连接类,MySqlCommand命令类,MySqlDataAdapter适配器类。

    using MySql.Data.MySqlClient;//这是MYSQL数据库的命名空间。

    有了上面这一句引用,你在程序中就可以使用操作数据库的相关对象了。你统计一下,操作数据库的模式,看下面2个操作。是不是差不多?准备好就open,操作完就close.要准备的东西就2个:连接对象和命令对象。连接上数据库还要操作数据库,所以这2个对象是必备的。增删改都只要2个对象。对于查询,需要3个对象:连接对象,命令对象,适配器对象。适配器对象用来存储查到的内容。

    MYSQL数据库的操作:要引用:using MySql.Data.MySqlClient;

    增删改查操作都是相同的模式,open----操作----close.  以下的操作都在VS2015中正常使用,可以直接复制使用

    MYSQL数据库插入操作:

    前2行得到1个完整的对象绝对位置.第一行得到主机数据库.第二行得到数据库中的数据表a  

    //建立1个mysql连接对象并且直接初始化连接字符串.这样简约

     MySqlConnection myConnnect = new MySqlConnection("server=localhost;User Id=root;password=123456;Database=aa");

    string SQLSTR = string.Format("insert into A(A,B,C,daytime) values('{0}','{1}','{2}','{3}')", PLCvalue.VD100, PLCvalue.VD104, PLCvalue.VD108, DateTime.Now.ToString());

     MySqlCommand mycm = new MySqlCommand(SQLSTR, myConnnect);

    myConnnect.Open();

     mycm.ExecuteNonQuery();

     myConnnect.Close();

                     //******************************************************** 

    MYSQL数据库查询操作:

    //***这段是MYSQL数据库查询的操作*************************  前2行得到1个完整的对象绝对位置.第一行得到主机数据库.第二行得到数据库中的数据表a     

    //建立1个mysql连接对象并且直接初始化连接字符串.这样简约   

      MySqlConnection myConnnect = new MySqlConnection("server=localhost;User Id=root;password=123456;Database=aa");    

    //在屏幕上有2个datetimepicker日期时间输入控件,可以根据输入的2个时间,查询得到2个时间之间的所有数据       

    string SQL= string.Format("select * from a  where daytime between '{0}' and '{1}'", dateTimePicker1.Value, dateTimePicker2.Value);

      DataSet ds = new DataSet();//新建1个数据集

    MySqlCommand cmd = new MySqlCommand(SQL, myConnnect);//新建立1个数据库命令对象用来执行你下达的命令,命令就是上面的命令字符串SQL

      myConnnect.Open();//打开数据库

      MySqlDataAdapter dd = new MySqlDataAdapter(cmd);//只有查询数据库才会用到适配器对象,用来存储上面的命令执行后得到的数据内容.

      dd.Fill(ds);//然后把内容填充到数据集对象

      myConnnect.Close();//操作完成关闭数据库

                             //*******************************************************

    MYSQL数据库删除操作:

    MySqlConnection myConnnect = new MySqlConnection("server=localhost;User Id=root;password=123456;Database=aa");

    string sql2 = "delete from a order by daytime limit 10";//会删除最旧的日期时间的10行

    string sql2 = "delete from a order by daytime desc limit 10";//会删除最新日期时间的10行,这2行按需要选1行使用                                                          

    MySqlCommand cmd1 = new MySqlCommand(sql2, myConnnect);

    myConnnect.Open();//打开数据库

    int k = cmd1.ExecuteNonQuery();//执行动作

    MessageBox.Show("已删除" + k.ToString() + "条记录");

    myConnnect.Close();//操作完成关闭数据库

  • 相关阅读:
    C++第11课 迭代器与仿函数 (二)
    C++第11课 迭代器与仿函数 (一)
    Python语法的应用
    Python面试
    02_Python之基础编程
    01_Python之_学前准备
    Sorting It All Out (拓扑排序) poj1094
    Codeforces Global Round 13 Editorial补题
    今天做题做到了并查集相关的内容~简单介绍一下关于并查集的东西
    留言板
  • 原文地址:https://www.cnblogs.com/softsee/p/11775435.html
Copyright © 2011-2022 走看看