ASP.NET 使用 MySQL
基本是通用的
C#与MySQL的交互, 先添加MySQL.Data.dll(位于MySQL安装目录下的Connector NET 8.0\Assemblies${version}目录下)引用, 之后代码中使用步骤如下(SELECT未使用预处理)
Web.config 中定义 MySqlConstructorString字符串, 用于配置数据库连接
<add key="MySqlConstructorString" value="Server=localhost;User Id=root;Password=myPassword;PersistSecurityInfo=True;Port=3306;DataBase=DemoDataBase;Charset=utf8mb4;SslMode=none" />
使用的代码:
using System.Web.Mvc;
using MySql.Data.MySqlClient;
namespace WebDemo.Controllers
{
public class DemoController : Controller
{
public string ExecuteSQL()
{
MySqlConnection mySqlConnection = new MySqlConnection(System.Configuration.ConfigurationManager.AppSettings["MySqlConstructorString"]);
mySqlConnection.Open();
// 使用预处理的占位符, 参数2传入了 MySqlConnection 对象
MySqlCommand mySqlCommand = new MySqlCommand(
"INSERT INTO `DemoTable` (`row_id`, `title`, `author`, `introduction`, `create_date`) VALUES (UUID(), ?title, ?author, ?introduction, ?createDate);",
mySqlConnection);
// 创建预处理信息
MySqlParameter titleParameter = new MySqlParameter("?title", MySqlDbType.VarChar, 50);
MySqlParameter authorParameter = new MySqlParameter("?author", MySqlDbType.VarChar, 30);
MySqlParameter introductionParameter = new MySqlParameter("?introduction", MySqlDbType.VarChar, 1000);
MySqlParameter createDateParameter = new MySqlParameter("?createDate", MySqlDbType.Date);
// 绑定数据
titleParameter.Value = "少有人走的路";
authorParameter.Value = "派克";
introductionParameter.Value = "心智成熟之旅";
createDateParameter.Value = "2018-06-20";
// 添加绑定
mySqlCommand.Parameters.Add(titleParameter);
mySqlCommand.Parameters.Add(authorParameter);
mySqlCommand.Parameters.Add(introductionParameter);
mySqlCommand.Parameters.Add(createDateParameter);
// 预处理
mySqlCommand.Prepare();
// MySqlCommand 的 ExecuteNonQuery 方法
string executeResult = mySqlCommand.ExecuteNonQuery() > 0 ? "执行成功" : "执行失败";
// 多次执行, 无需重复绑定与预处理, 直接替换数据即可
titleParameter.Value = "穷爸爸富爸爸";
authorParameter.Value = "清崎";
introductionParameter.Value = "资产与负债";
createDateParameter.Value = "2018-06-20";
executeResult += " | " + (mySqlCommand.ExecuteNonQuery() > 0 ? "执行成功" : "执行失败");
// 记得关闭资源
mySqlConnection.Close();
return executeResult;
}
public string QueryFromDB()
{
MySqlConnection mySqlConnection = new MySqlConnection(System.Configuration.ConfigurationManager.AppSettings["MySqlConstructorString"]);
mySqlConnection.Open();
MySqlCommand mySqlCommand = new MySqlCommand(
"SELECT `title`, `author`, `introduction` FROM DemoTable;",
mySqlConnection);
// SELECT 与 INSERT, DELECT, UPDATE 的不同之处
MySqlDataReader mySqlDataReader = mySqlCommand.ExecuteReader();
string displayString = "";
// MySqlDataReader 的 Read() 方法用于将 MySqlDataReader 移动到下一个记录, 需要注意使用第一行记录前也需要先 Read()
while (mySqlDataReader.Read())
{
// 使用索引符来访问数据
displayString += "Book Name: " + mySqlDataReader[0] + " Author: " + mySqlDataReader[1] + " Introduction: " + mySqlDataReader[2] + "<br/><br/>";
}
// 关闭资源
mySqlDataReader.Close();
mySqlConnection.Close();
return displayString;
}
}
}
ASP.NET 使用 MySQL的更多相关文章
- ASP.NET 连接MySQL数据库 详细步骤
ASP.NET默认的数据库是MS SQL Server,微软的数据库产品.事实上,如果不计成本因素的话,Windows Server + IIS + MS SQL Server + ASP.NET是网 ...
- Asp.Net连接Mysql报错Out of sync with server
Asp.Net连接Mysql报错Out of sync with server 原因:程序引用的MySql.Data.dll版本高于服务器版本 解决:下载一个低版本的MySql.Data.dll,项目 ...
- ASP.NET 访问 MySql
1. 首先需要安装mysql, 脚本之家下载地址: http://www.jb51.net/softs/2193.html 或者去mysql.com官网都可以,一路next,安装好后,有个简单配置,提 ...
- asp.net使用Mysql乱码处理
在asp.net与mysql数据库打交道的时候,由于配置的问题,会遇到自己写的方法在读取数据库中数据的时候,英文,数字可以正常通过,但是中文就无法通过,以登录为例(方法略),当输入英文用户名的时候可以 ...
- asp.net使用mysql数据库
Asp.net连接mysql 不推荐使用ODBC,推荐是用mysql官网提供的组件MySQL.Data.Dll,放在bin下面,添加引用即可 下面是封装的几个常用操作 using System; us ...
- asp.net core + mysql + ef core + linux
asp.net core + mysql + ef core + linux 以前开发网站是针对windows平台,在iis上部署.由于这次需求的目标服务器是linux系统,就尝试用跨平台的.NET ...
- Asp.Net操作MySql数据库增删改查
Asp.Net操作MySql数据库增删改查,话不多说直接步入正题.git源码地址:https://git.oschina.net/gxiaopan/NetMySql.git 1.安装MySQL数据库 ...
- 腾讯云-ASP.NET Core+Mysql+Jexus+CDN上云实践
腾讯云-ASP.NET Core+Mysql+Jexus+CDN上云实践.md 开通腾讯云服务器和Mysql 知识点: ASP.NET Core和 Entity Framework Core的使用 L ...
- 解决 ASP.NET Core MySql varchar 字符串截取(长度 255)
ASP.NET Core 中使用 MySql,如果字段类型为varchar,不管设置多少长度,插入或更新数据的时候,会自动截断(截取 255 长度的字符). 出现问题的原因,就是使用了MySql.Da ...
- ASP.NET Core 实战:使用 Docker 容器化部署 ASP.NET Core + MySQL + Nginx
一.前言 在之前的文章(ASP.NET Core 实战:Linux 小白的 .NET Core 部署之路)中,我介绍了如何在 Linux 环境中安装 .NET Core SDK / .NET Core ...
随机推荐
- tnagios - query handler
启动日志 [root@bjyh-48-86 nagios]# cat nagios.log [1433471109] Nagios 4.1.0rc1 starting... (PID=5136) [1 ...
- c++基础(积少成多)
1.#include<string> #include<iostream> 这是引用头文件: 2.Using namespace std; 这是引用命名空间,防止同一个命名空间 ...
- HTML-JS-CSS基础
HTML-JS-CSS基础 1.html hyper text markup language,超文本标记语言,所见即所得.web开发中用于展示功能的部分,浏览器可对其进行渲染.产生各种可视化组件,比 ...
- 基于FPGA的VGA显示设计(一)
前言 FPGA主要运用于芯片验证.通信.图像处理.显示VGA接口的显示器是最基本的要求了. 原理 首先需要了解 : (1)VGA接口协议:VGA端子_维基百科 .VGA视频传输标准_百度 引脚1 RE ...
- ubuntu 安装 deb 软件包
参考链接地址 blog.csdn.net/kevinhg/article/details/5934462 sudo dpkg -i xxxx.deb 安装一个 Debian 软件包,如你手动下载的文件
- 快速提取邮箱地址(利用word或网站)
在word中,CTRL+F,输入:[A-z,0-9]{1,}\@[A-z,0-9,\.]{1,} 点击“高级”,勾选“使用通配符”,点击“查找全部”: 复制.粘贴. 还可通过以下页面在线提取. htt ...
- Ubuntu 如何将桌面上的Home中的文件夹除去
安装Ubuntu后, 由于无法用Terminal(终端)进入带中文的文件夹,会引起很多操作不便.很多朋友想到了将它们都改成中文,但是当再次开机重启使却会发现,原本光洁的桌面现在竟然出现了一堆文件夹?? ...
- Aizu The Maximum Number of Customers
http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=DSL_5_A The Maximum Number of Customers Ide ...
- LA 2965 中途相遇法
题目链接:https://vjudge.net/problem/UVALive-2965 题意: 有很多字符串(24),选出一些字符串,要求这些字符串的字母都是偶数次: 分析: 暴力2^24也很大了, ...
- Dijkstra单源最短路径,POJ(2387)
题目链接:http://poj.org/problem?id=2387 Dijkstra算法: //求某一点(源点)到另一点的最短路,算法其实也和源点到所有点的时间复杂度一样,O(n^2); 图G(V ...