c#连接mysql数据库 工具类DbHelper
短信预约 -IT技能 免费直播动态提醒
C#连接mysql数据库,
安装Mysql.Data
写DbHelper(SqlUtils)
using System;using System.Data;using MySql.Data.MySqlClient;namespace ConsoleAppEntity.utils{ public static class DbHelper { // 1.创建连接对象 连接字符串 ==> 打开连接 ==> 捕捉可能发生的异常 // 2.创建指令对象 指定指令对象的连接对象 ==> 指定要执行的sql语句 ==> 选择三种执行方法其中一种 // 3. 处理结果,关闭连接 public static string ConnetionString { get; private set; } = "server=localhost; port=3306; user=root; password=123456; database=asp_net_db;SslMode=none"; public static MySqlConnection Con { get { var con = new MySqlConnection(ConnetionString); try { con.Open(); return con; } catch (MySqlException e) { Console.WriteLine(e.Message); return null; } } } public static MySqlCommand Cmd { get { var cmd = new MySqlCommand() { Connection = Con }; return cmd; } } // 执行增删改 public static bool Update(string sql) { var cmd = Cmd; cmd.CommandText = sql; try { return cmd.ExecuteNonQuery() > 0; } catch (MySqlException e) { Console.WriteLine(e.Message); throw; } finally { Con.Clone(); } } // 查询结果集中第一行第一列的结果 public static object SelectForScalar(string sql) { var cmd = Cmd; cmd.CommandText = sql; try { return cmd.ExecuteScalar(); } catch (MySqlException e) { Console.WriteLine(e.Message); throw; } finally { Con.Clone(); } } // 获取结果集返回reader public static MySqlDataReader SelectForReader(string sql) { var cmd = Cmd; cmd.CommandText = sql; try { return cmd.ExecuteReader(CommandBehavior.CloseConnection); } catch (MySqlException e) { cmd.Connection.Clone(); throw; } } }}
reader的结果集接收 类似于JDBC的结果集遍历
MySqlDataReader reader = cmd.ExecuteReader();//执行ExecuteReader()返回一个MySqlDataReader对象while (reader.Read())//初始索引是-1,执行读取下一行数据,返回值是bool{Console.WriteLine(reader.GetInt32("id") + "\t" + reader.GetString("name") + "\t" + reader.GetString("pwd"));//"userid"是数据库对应的列名,推荐这种方式}
来源地址:https://blog.csdn.net/qq_50932580/article/details/129430118
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341