C#mysql数据操作

1、下载并添加引用MySql.Data.dll和MySql.Data.Entity.dll

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using MySql.Data.MySqlClient;
using MySql.Data;


namespace sql_test
{
    class Program
    {
        static void Main(string[] args)
        {
            
            //SqlConnect();
            //SqlCommad();
            //SqlQuery();
            //CmdQuery();
            cunchu();
            Console.ReadKey();
        }

  #region 数据库连接
        /// <summary>
        /// 数据库连接
        /// </summary>
        static void SqlConnect()
        { 
              //1.连接通道的连接字符串
            string constr = @"server=localhost;database=testsql;UID=root;PWD=123456;";
              //2.连接通道对象
            MySqlConnection conn = new MySqlConnection(constr);
              //3.打开通道
            conn.Open();
              //4.关闭通道
            conn.Close();
            Console.WriteLine("连接对象新建操作成功");
        }
  #endregion
       
  #region 增删改
        static void SqlCommad()
        {
            int res = 0;
            //1.连接通道的连接字符串
            string constr = @"server=localhost;database=testsql;UID=root;PWD=123456;";
            //2.连接通道对象
            MySqlConnection conn = new MySqlConnection(constr);
            //3.准备新增指令

            /*insert into
            string SqlCommad = @"insert into student_xinxi (student_ID,adress_省份,adress_详细地址,phone,身份证号)  values ('07008201016','广西南宁','武鸣区双桥镇',135339274,'450122198812141655');
                                 insert into student_xinxi (student_ID,adress_省份,adress_详细地址,phone,身份证号)  values ('07008201017','广西南宁','武鸣区双桥镇',135339634,'450122198812141655');";*/

            /*update 
            string SqlCommad = @"UPDATE student_xinxi SET phone=18922205 where student_ID='07008201016';";*/


            //delete
            string SqlCommad = @"DELETE FROM student_xinxi WHERE 身份证号='450122198812141655'";

            //4.新建命令对象(工人),并且告诉他要走哪条路conn去做什么事情sqlstr
            MySqlCommand cmd = new MySqlCommand( SqlCommad,conn);
            //5.打开连接通道
            conn.Open();
            //6.调用方法执行数据库指令
            try
            {
                 res = cmd.ExecuteNonQuery();//返回受影响的行数
            }
            catch(ArgumentNullException e)
            {
                Console.WriteLine(e.Message);
            }
            //7.关闭通道
           conn.Close();
           if (res > 0)
           {
               Console.WriteLine("新增成功,返回受影响的行数:" + res);
           }
           else
           {
               Console.WriteLine(" 新增失败");
           }
        }

  #endregion

 #region 查询( 读取器方式)
        /// <summary>
        /// 读取器方式是指一行一行读取数据库数据
        /// </summary>
        static void SqlQuery()
        {
            //1.连接服务器
            string sqlstr = @"server=127.0.0.1;database=testsql;UID=root;PWD=123456;";
            MySqlConnection conn = new MySqlConnection(sqlstr);
            //2.准备指令
            string strcommad = @"select * from student_xinxi";
            MySqlCommand cmd = new MySqlCommand(strcommad, conn);
            //3.打开连接
            conn.Open();
            //4.读取器读取
            MySqlDataReader res = cmd.ExecuteReader();
            while (res.Read())//read 方法,如果读到下一行数据,则返回true,而且res本身就等于那一行数据
            { 
               //两种读取数组方式注意下标
               Console.WriteLine(res["student_ID"].ToString());
               //Console.WriteLine(res[0].ToString());
            }
            res.Close();// 关闭读取器
            conn.Close();

        }

#endregion

#region 适配器读取方式
        static void CmdQuery()
        {
            //1.连接数据库
            string strserver = @"server=localhost;database=testsql;UID=root;PWD=123456;";
            MySqlConnection conn = new MySqlConnection(strserver);
            //2.配置指令
            string strcmd = @"select * from student_xinxi";
           // 创建适配器对象,告诉他要做什么事情,走哪条路去
            MySqlDataAdapter da=new MySqlDataAdapter(strcmd,conn);
            // 创建数据集对象(程序端的临时数据库)
            DataSet ds = new DataSet();
            //调用fill方法,填充数据集,(先去数据库查询结果集,并把结果集返回复制给数据集)
            da.Fill(ds);
            //da.Fill(ds, table1);table1为表的别名      DataTable dt = ds.Tables["table1"];
            //获取数据集中的第一张表
            DataTable dt = ds.Tables[0];
            // 循环数据表中的每一行
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                DataRow dr = dt.Rows[i];//将循环到的行拿出来给dr对象
                Console.WriteLine(dr["student_ID"]);

            }
                //3.打开通道
                conn.Open();

            //4.发送指令并以适配器方式读取

           


        
        }


#endregion


 #region 调用存储过程
        /// <summary>
        /// create procedure usp(IN id INT)
         //   begin
        //    select student_ID from student_xinxi where phone = id;
        //  end
        /// </summary>
        static void cunchu()
        {
            string str = @"server=localhost;database=testsql;UID=root;PWD=123456;";
            MySqlConnection  conn=new MySqlConnection(str);
            MySqlCommand cmd = new MySqlCommand("usp", conn);//
            cmd.CommandType = CommandType.StoredProcedure;// 指定命令类型为存储过程
           MySqlParameter sp = new MySqlParameter();//指定存储过程中的参数
           sp.ParameterName = "id";
           sp.MySqlDbType = MySqlDbType.Int32;
           sp.Value=1353394;
            cmd.Parameters.Add(sp);// 将参数对象加入到命令对象的参数集合中()
            MySqlDataAdapter da = new MySqlDataAdapter(cmd);

            DataTable dt = new DataTable();
            da.Fill(dt);
            foreach (DataRow dr in dt.Rows)
            {
                Console.WriteLine("输出结果:"+dr[0].ToString());
            }
            
        }
 #endregion


    }
}


  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值