c#访问数据库,并对数据库进行增删改查using MySql.Data.MySqlClient;

1.方法:右键点击解决方案->管理解决方案NuGet程序包->浏览搜索->MySql.Data->点击右边选择安装
2.引用命名空间using MySql.Data.MySqlClient;

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MySql.Data.MySqlClient;
 namespace ClientMySql
{
    class Program
    {
        //服务器的ip/port/userid/password密码,(没有为password=)/database要连接的数据库表名称
        static string connetStr = "server=192.168.18.119;port=3306;User Id=root;password=cre1; database=00";//database:要连接的数据库名称
        static MySqlConnection connection = new MySqlConnection(connetStr);
        static void Main(string[] args)
        {
            //SelectSQL("select * from text");
            //----------一.增加-------------
            //1.选择性添加,未选择添加表头里值默认为NULL
            //Add_Delete_Revise("insert into text (ID,Names,Age) values ( 13,'哈萨克斯坦',33)");
            //2.省略表头,在value里面必须所有值都要添加
            //Add_Delete_Revise("insert into text  values ( 14,'哈萨克斯坦','男',34)");
            //----------二.删除-------------
            //Add_Delete_Revise("delete from text where ID=10 ");
            //----------三.修改-------------
            Add_Delete_Revise("update text set Names='修改的名称' where Names='dead' ");
            //----------四.查询-------------
            SelectSQL("select * from text");
        }
        //查询
        public static void SelectSQL(string SqlText)
        {
            try
            {
                connection.Open();
                //执行查询命令
                //string sql = "select * from text";
                string sql = SqlText;
                MySqlCommand cmd = new MySqlCommand(sql, connection);
                MySqlDataReader reader = cmd.ExecuteReader();//执行ExecuteReader()返回一个MySqlDataReader对象
                while (reader.Read())
                {
                    //1.通过列的下标读取数据
                    //Console.WriteLine(reader[0].ToString() + reader[1].ToString() + reader[2].ToString());
                    //2.通过表名称读取数据
                    //Console.WriteLine(reader["Names"].ToString());
                    //3.通过表名称读取数据,并对数据格式转化
                    Console.WriteLine(" ID:" + reader.GetInt32("ID") + " Names:" + reader.GetString("Names") + "  Age:" + reader.GetInt32("Age"));
                }
                connection.Close();
            }
            catch (MySqlException e)//sql连接异常判断
            {
                if (e.ToString().Contains("Unknown database"))
                {
                    Console.WriteLine("database错误,请检查...");
                }
                switch (e.Number)
                {
                    case 0:
                        Console.WriteLine("User Id/Password/database错误,请检查...");
                        break;
                    case 1042:
                        Console.WriteLine("IP/Port错误,请检查...");
                        break;
                    case 1045:
                        Console.WriteLine("User Id/Password错误,请检查...");
                        break;
                    default:
                        Console.WriteLine("连接失败");
                        break;
                }
            }
        }
        //数据库增加,删除,修改操作
        public static void Add_Delete_Revise(string SqlText)
        {
            try
            {
                connection.Open();
                string sql = SqlText;
                MySqlCommand cmd = new MySqlCommand(sql, connection);
                //执行插入,删除,更改命令
                //string sql2 = "insert into text (ID,Names,Sex,Age) values ( 9,'哈萨克斯坦','男',30)"; 
                int result = cmd.ExecuteNonQuery();//3.受影响的行数. 执行插入、删除、更改语句。执行成功返回受影响的数据的行数,返回1可做true判断。执行失败不返回任何数据,报错,下面代码都不执行
                Console.WriteLine("受影响行数:" + result);
                connection.Close();
            }
            catch (MySqlException e)//sql连接异常判断
            {
                if (e.ToString().Contains("Unknown database"))
                {
                    Console.WriteLine("database错误,请检查...");
                }
                switch (e.Number)
                {
                    case 0:
                       Console.WriteLine("User Id/Password/database错误,请检查...");
                        break;
                    case 1042:
                        Console.WriteLine("IP/Port错误,请检查...");
                        break;
                    case 1045:
                        Console.WriteLine("User Id/Password错误,请检查...");
                        break;
                    default:
                        Console.WriteLine("连接失败");
                        break;
                }
            }  
        }
    }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值