MySql数据库 - 5.用C#连接数据库
- 添加 dll 引用,dll 位置:C:\Program Files (x86)\MySQL\Connector NET 8.0\Assemblies\v4.5.2
- 引入命名空间:MySql.Data.MySqlClient
- 编写连接字符串,连接字符串内容包括:
数据库名(database);ip 地址(datasource/data source);端口号(port);用户名(userid/user);密码(password/pwd) - 创建一个用于动态链接的 MySqlConnection 变量
- 调用Open方法打开数据库连接
- 编写 增、删、改、查 语句
a. 创建SQL语句
b. 执行SQL语句 - 调用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 = ;
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 = "";
MySqlCommand cmd = new MySqlCommand("update user set password = @pwd where id = 1",conn);
cmd.Parameters.AddWithValue("pwd", password);
cmd.ExecuteNonQuery();
}
}
}
MySql数据库 - 5.用C#连接数据库的更多相关文章
- 越光后端开发——ygapi(1.新建项目ygapi、新建MySQL数据库yg、项目连接数据库)
1.新建MySQL数据库 show databases;//查看已经有的数据库 create database yg; 2.新建项目ygapi 1.使用pycharm新建django项目取名ygapi ...
- MySQL数据库 -- Navicat、pycharm连接数据库
内容目录 1.Navicat使用 2.pycharm使用数据库 一.Navicat使用 #1. 测试+链接数据库 #2. 新建库 #3. 新建表,新增字段+类型+约束 #4. 设计表:外键 #5. 新 ...
- php将图片以二进制保存到mysql数据库并显示
一.存储图片的数据表结构: -- -- 表的结构 `image` -- CREATE TABLE IF NOT EXISTS `image` ( `id` int(3) NOT NULL AUTO_I ...
- 通过JSP网页连接MySQL数据库,从MySQL数据库中读出一张表并显示在JSP网页中
1.安装所需软件 ①安装java和tomcat,建立JSP网页最基础的软件②安装MySQL数据库(下载地址:https://www.mysql.com/)③安装Navicat Premium来查看数据 ...
- mysql数据库的基本使用命令总结
mysql数据库是一个常用的关系型数据库 关系型数据库核心元素有哪些? 主键:特殊字段,用来唯一标识记录的唯一性 字段:数据列 记录:数据行 数据表:数据行的集合 数据库:数据表的集合 安装.启动.停 ...
- Python数据存储 — MySQL数据库操作
本地安装MySQL 调试环境python3.6,调试python操作mysql数据库,首先要在本地或服务器安装mysql数据库. 安装参考:https://mp.csdn.net/postedit/8 ...
- 【python】python3连接mysql数据库
一.安装pymysql 详见http://www.runoob.com/python3/python3-mysql.html 二.连接mysql数据库 db = pymysql.connect( #连 ...
- 【php】php操作MySQL数据库
一.操作步骤: 1. 连接MySQL数据库并判断是否连接成功2. 选择数据库3. 设置字符集4. 准备SQL语句5. 向MySQL服务发送SQL语句6. 解析处理结果集7. 释放结果集,关闭数据库连接 ...
- (转)PHP连接数据库之PHP连接MYSQL数据库代码
PHP连接数据库之PHP连接MYSQL数据库代码 < ?php $mysql_server_name='localhost'; //改成自己的mysql数据库服务器 $mysql_usernam ...
随机推荐
- Extjs4.1+desktop+SSH2 定义程序入口
app.js定义程序入口: MainController.js: 加载控制器: 外部组件引用入口loader.js 时间组件 静态变量组件: 引入comm.js index.jsp 验证打印 comm ...
- 如何修改集群的公网信息(包括 VIP) (文档 ID 1674442.1)
适用于: Oracle Database - Enterprise Edition - 版本 11.2.0.3 到 12.1.0.2 [发行版 11.2 到 12.1]本文档所含信息适用于所有平台 用 ...
- Mybatis-连接池与事务
Mybatis 的连接池技术 Mybatis 将它自己的数据源分为三类: UNPOOLED 不使用连接池的数据源 POOLED 使用连接池的数据源 JNDI 使用 JNDI 实现的数据源 Mybati ...
- 2018.5.18 AndroidStudio创建项目出错
Android Studio 出现 Gradle's dependency cache may be corrupt 错误分析 Error:Failed to open zip file. Gradl ...
- 前端面试题1:Object.prototype.toString.call() 、instanceof 以及 Array.isArray()三种方法判别数组的优劣和区别
1. Object.prototype.toString.call() 每一个继承 Object 的对象都有 toString 方法,如果 toString 方法没有重写的话,会返回 [Object ...
- 完结篇OO总结
目录 前言 一.第四单元两次架构设计 二.架构设计及OO方法理解的演进 三.测试理解与实践的演进 四.课程收获 五.改进建议 前言 持续了17周的OO终于走向了尾声,想想寒假的时候连类都不知道是什么, ...
- 操作文件 -------JavaScrip
本文摘要:http://www.liaoxuefeng.com/ 在HTML表单中,可以上传文件的唯一控件就是<input type="file">. 注意:当一个表单 ...
- LIS最长上升子序列模板
LIS n2解法: #include<iostream> #include<cstdio> using namespace std; int n,ans; ],f[]; int ...
- [牛客OI测试赛2]F假的数学游戏(斯特灵公式)
题意 输入一个整数X,求一个整数N,使得N!恰好大于$X^X$. Sol 考试的时候只会$O(n)$求$N!$的前缀和啊. 不过最后的结论挺好玩的 $n! \approx \sqrt{2 \pi n} ...
- MySQL自学笔记_联结(join)
1. 背景及原因 关系型数据库的一个基本原则是将不同细分数据放在单独的表中存储.这样做的好处是: 1).避免重复数据的出现 2).方便数据更新 3).避免创建重复数据时出错 例子: 有供应商信息和产 ...