c# 编写 MYsql 增删改查

本文演示了如何使用 C# 连接 MySQL 数据库,包括基本的查询、更新操作,以及参数化查询的实现方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MySql.Data.MySqlClient;
namespace mysql1
{
    class Program
    {
        static void Main(string[] args)
        {
            // 连接数据库
            string connectStr = "server = 127.0.0.1; port = 3306; user = root; password = root1;database = mysql; SslMode = none;";

            MySqlConnection conn = new MySqlConnection(connectStr);

            try
            {
                conn.Open();
                Console.WriteLine("已建立连接");
            }
            catch(MySqlException e)
            {
                Console.WriteLine(e.ToString());
            }
            //  查询数据库
            string sql = "select * from help_category ";

            MySqlCommand cmd = new MySqlCommand(sql, conn);
            MySqlDataReader reader = cmd.ExecuteReader();

            while(reader.Read())
            {
                Console.WriteLine(reader.GetInt32("help_category_id")+ "\t" + reader.GetString("name") + "\t"
                    + "\t" +   reader.GetInt32("parent_category_id"));//"userid"是数据库对应的列名,推荐这种方式
            }
       
            reader.Close();
            
            Console.WriteLine("\n");
            // 查询条件不固定

            string sql1 = "select * from help_category " +
                          "where help_category_id =@para";

            cmd.CommandText = sql1;
            cmd.Parameters.AddWithValue("para", 3); 
       
            MySqlDataReader reader1 = cmd.ExecuteReader();

            while (reader1.Read())
            {
                Console.WriteLine(reader1.GetInt32("help_category_id") + "\t" + reader1.GetString("name") + "\t"
                    + "\t" + reader1.GetInt32("parent_category_id"));//"userid"是数据库对应的列名,推荐这种方式
            }
            reader1.Close();

            //  增加记录

            //             string addStr = "insert into help_category(help_category_id, name, parent_category_id)" +
            //                 "values(43, 'zhange', 50)";
            // 
            //             cmd.CommandText = addStr;
            //             int result = cmd.ExecuteNonQuery();
            //             Console.WriteLine(result);

            // 删除记录
            //             string delete = "delete from help_category where help_category_id = 42";
            // 
            //             cmd.CommandText = delete;
            //             int result1 = cmd.ExecuteNonQuery();
            //             Console.WriteLine(result1);

        
            string update = "update help_category set name = 'wangyao' where help_category_id = 43";
            cmd.CommandText = update;
            int result2 = cmd.ExecuteNonQuery();
            Console.WriteLine(result2);
        }
    }
}

 

C# VS2012 86系统 mysql-5.5.27-win32 功能:利用动软代码生成器 从 数据库表或者视图中生成 的三层结构代码 实现 数据增删改查。 如果可以,请下载资源中 修改 的动软代码生成器 C#模板生成 1、由于之前使用 动软生成 java 网页源码,比较成功,此处编写C#程序时沿用,感觉更加适合。 2、直接调用动软的相关dll和生成的三层代码,可以较快的实现增删改查操作。 3、由于一些dll版本的问题及动软生成器自身的一些不完善,产生了一些问题并查找了挺久,所以把可以实现的版本发布出来共享。 前提: 使用的是 mysql数据库时才可能会出现以下问题 问题: 1、MySql.Data.dll 必须是5.6.1以上版本,否则会出现 “向信号量添加给定计数将导致其超出它的最大计数” 的问题。 2、动软代码生成时,必须增加该命名空间 using MySql.Data.MySqlClient; 3、动软代码必须修改 “工具”-“选项”弹出窗 后,点击 ”代码生成设置“-”字段类型映射“-”参数符号“中删除 mysql @,添加mysql ? 4、如果不修改3的设置,在增删改时 参数设置会失败。 5、mysql保存或者修改时,中文会出现乱码,这时必须 在DbHelperMySQL类的 连接字中增加Charset=utf8;即 protected static string connectionString = "Server=localhost;User Id=root;Password=root;Persist Security Info=True;Database=mnzfz;Charset=utf8;"; 6、如果要在局域网中远程访问,请 修改 mysql 权限:grant select,update,insert,delete on *.* to 'root'@'192.168.0.1' identified by "123456";
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值