博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySql数据库 - 5.用C#连接数据库
阅读量:6234 次
发布时间:2019-06-21

本文共 3424 字,大约阅读时间需要 11 分钟。

  1. 添加 dll 引用,dll 位置:C:\Program Files (x86)\MySQL\Connector NET 8.0\Assemblies\v4.5.2
  2. 引入命名空间:MySql.Data.MySqlClient
  3. 编写连接字符串,连接字符串内容包括:
    数据库名(database);ip 地址(datasource/data source);端口号(port);用户名(userid/user);密码(password/pwd)
  4. 创建一个用于动态链接的 MySqlConnection 变量
  5. 调用Open方法打开数据库连接
  6. 编写 增、删、改、查 语句
      a. 创建SQL语句
      b. 执行SQL语句
  7. 调用Close方法关闭数据库连接

示例代码:

using System;using MySql.Data.MySqlClient;namespace MYSQL数据库操作{    class Program    {        static void Main(string[] args)        {            // 连接字符串(该字符串不区分大小写):数据库名(database),ip地址(datasource/data source),端口号(port),用户名(userid/user),密码(password/pwd)            string connStr =                 "database = test007;" +                "datasource = 127.0.0.1;" +                "port = 3306;" +                "userid =root;" +                "password=root";            // 用于动态链接的对象            // 参数:需要填一个连接字符串            MySqlConnection conn = new MySqlConnection(connStr);            // 打开连接            conn.Open();            // 查询            //SelectData(conn);            // 插入数据            //InsertData(conn);            // 删除            //DeleteData(conn);            // 更新数据            UpdateData(conn);            conn.Close();   // 关闭时需要遵循 先开后关 的顺序。            Console.ReadKey();        }        // 查询        static void SelectData(MySqlConnection conn)        {            // 创建一个 MySql 对象(创建一个SQL命令)            // 参数:SQL语句,Connector对象            MySqlCommand cmd = new MySqlCommand("select * from user",conn);            // 执行 SQL 命令(返回一个读取流)            MySqlDataReader reader = cmd.ExecuteReader();            // 判断Reader里面是否有数据 reader.HasRows            // 调用 Read方法,表示读取一行记录(返回值:读取到数据返回 true,没有读取到数据返回false)            while (reader.Read())            {                // 获得需要的数据                string username = reader.GetString("username");                string password = reader.GetString("password");                // 打印读取到的数据                Console.WriteLine(username + ":" + password);            }            // 关闭读取流,SQL 命令不需要关闭            reader.Close();            // 关闭和数据库的连接        }        // 插入        static void InsertData(MySqlConnection conn)        {            // 定义用户名和IMA            string username = "qqq";            string password = "www";            /*            // 字符串组拼的方式插入数据,可能出现 SQL注入的问题            MySqlCommand cmd = new MySqlCommand("insert into user set username = '" + username +                                                 "',password = '" + password + "'",conn);            */            // 针对以上问题的解决方案            MySqlCommand cmd = new MySqlCommand("insert into user set username = @un, password = @pwd", conn);            cmd.Parameters.AddWithValue("un", username);            cmd.Parameters.AddWithValue("pwd", password);            cmd.ExecuteNonQuery();        }        // 删除        static void DeleteData(MySqlConnection conn)        {            int id = 3;            MySqlCommand cmd = new MySqlCommand("delete from user where id = @id", conn);            cmd.Parameters.AddWithValue("id", id);            cmd.ExecuteNonQuery();        }        // 更新数据        static void UpdateData(MySqlConnection conn)        {            string password = "123456789";            MySqlCommand cmd = new MySqlCommand("update user set password = @pwd where id = 1",conn);            cmd.Parameters.AddWithValue("pwd", password);            cmd.ExecuteNonQuery();        }    }}

 

转载于:https://www.cnblogs.com/kao-la-bao-bei/p/9231807.html

你可能感兴趣的文章
sql server 2005附加数据库错误:尝试打开或创建物理文件时,CREATE FILE 遇到操作系统错误...
查看>>
彻底搞定C指针-函数名与函数指针
查看>>
win7快速启动栏
查看>>
一个网络项目招标书,大神们会几个?
查看>>
基于x86和JVM浅谈32bit与64bit的区别
查看>>
NSPredicate笔记
查看>>
cocos2d里面如何实现mvc
查看>>
unicode解码小工具
查看>>
Excel电子表格中如何做数据查找,重复数据删除,标记重复数据
查看>>
检测是否为HTML5新标签
查看>>
在升级过内核的机器上安装docker遇到的一个错误
查看>>
hibernate一个注册小例子
查看>>
zz 圣诞丨太阁所有的免费算法视频资料整理
查看>>
电信无限流量卡
查看>>
Java反射机制的适用场景及其利与弊 ***
查看>>
wine 运行Call of Duty Modern Warfare 2以及starcraft2方法
查看>>
找出表的记录数
查看>>
实现WCF和Unity 的集成
查看>>
Java 和 C#在重写上的区别
查看>>
基础才是重中之重——对var的误会,对不起,我愿望(冤枉)你了
查看>>