C# 连接本地数据库的实现示例
作者:Morris_ 发布时间:2024-01-23 09:35:15
使用环境
C#
VSCode
M1
1. 安装MySQL
下载MySQL软件,傻瓜式安装即可,安装完之后,在系统偏好号设置
里会出现一个MySQL的图标。
在安装的时候会让用户输入密码,这个自己看着输就行了,但是别忘记了。
建议别用终端命令行安装了,对初学者来说学习成本比较大。
2. 连接本地MySQL
安装完MySQL之后,点击MySQL图标,开启MySQL,如下我已开启
我本地已安装了Navicate,我就使用Navicate对本地数据库进行连接,验证是否能连接成功
打开Nvicate点击Connection,选择MySQL
填入数据库名,输入密码连接就可以了
连接上之后可以创建一个数据库Test
然后我们在数据库Test里面创建表,之后就可以使用C# 连接到本地的数据库,对表Test进行操作了。
3. C# 连接本地MySQL
我们本地创建一个控制台命令程序Demo,然后完整代码如下
// 定义连接字符串。这里Test是我们创建的数据库表;Uid是一个表字段;输入数据库的密码即可
string connectStr = "Server=127.0.0.1;Database=Test.Uid=root;Password=xxx;";
// 创建链接对象
MySqlConnection connection = new MySqlConnection(connectStr);
if (connection != null)
{
Console.WriteLine("数据库连接成功");
}
else
{
Console.WriteLine("数据库连接失败");
return;
}
// 打开连接
connection.Open();
// 拼写SQL语句
StringBuilder sqlB = new StringBuilder();
sqlB.AppendLine("SELECT ");
sqlB.AppendLine(" stuID ");
sqlB.AppendLine(" , name ");
sqlB.AppendLine("FROM studen ");
sqlB.AppendLine("; ");
// 创建执行Sql的对象
MySqlCommand command = new MySqlCommand(sqlB.ToString(), connection);
// 执行Sql
MySqlDataReader reader = command.ExecuteReader();
// 遍历数据
while(reader.Read())
{
Console.WriteLine("{0}\t{1}", reader["stuID"], reader["name"]);
}
上面的代码我们使用了 StringBuilder
来拼写Sql语句,使用MySqlConnection
和 MySqlCommand
等类进行数据库的操作
StringBuilder 是 System.Text 这个库里,我们需要Using这个库
MySqlConnection 和 MySqlCommand 是MySQL的一个库,MySql.Data,我们需要将 MySql.Data.MySqlClient 引入项目里
.net6 首选我们将库Using进来,在 .csproj 文件中添加 ItemGroup
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<Using Include="MySql.Data.MySqlClient" />
<Using Include="System.Text" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="MySql.Data" Version="8.0.28" />
</ItemGroup>
</Project>
因为我创建的是控制台应用程序,所以直接在终端中使用如下命令导入库
dotnet add package MySql.Data
➜ Demo dotnet add package MySql.Data
正在确定要还原的项目…
Writing /var/folders/k1/96lj0hk91js5fh5lhxnl7s740000gn/T/tmpn7jejh.tmp
info : 正在将包“MySql.Data”的 PackageReference 添加到项目“/Users/morris/Desktop/Demo/Demo.csproj”。
info : CACHE https://api.nuget.org/v3/registration5-gz-semver2/mysql.data/index.json
info : 正在还原 /Users/morris/Desktop/Demo/Demo.csproj 的包...
info : GET https://api.nuget.org/v3-flatcontainer/mysql.data/index.json
info : OK https://api.nuget.org/v3-flatcontainer/mysql.data/index.json 217 毫秒
info : GET https://api.nuget.org/v3-flatcontainer/mysql.data/8.0.28/mysql.data.8.0.28.nupkg
info : OK https://api.nuget.org/v3-flatcontainer/mysql.data/8.0.28/mysql.data.8.0.28.nupkg 108 毫秒
info : GET https://api.nuget.org/v3-flatcontainer/k4os.compression.lz4.streams/index.json
info : OK https://api.nuget.org/v3-flatcontainer/k4os.compression.lz4.streams/index.json 196 毫秒
info : GET https://api.nuget.org/v3-flatcontainer/k4os.compression.lz4.streams/1.2.6/k4os.compression.lz4.streams.1.2.6.nupkg
info : OK https://api.nuget.org/v3-flatcontainer/k4os.compression.lz4.streams/1.2.6/k4os.compression.lz4.streams.1.2.6.nupkg 92 毫秒
info : GET https://api.nuget.org/v3-flatcontainer/k4os.compression.lz4/index.json
info : OK https://api.nuget.org/v3-flatcontainer/k4os.compression.lz4/index.json 233 毫秒
info : GET https://api.nuget.org/v3-flatcontainer/k4os.compression.lz4/1.2.6/k4os.compression.lz4.1.2.6.nupkg
info : OK https://api.nuget.org/v3-flatcontainer/k4os.compression.lz4/1.2.6/k4os.compression.lz4.1.2.6.nupkg 93 毫秒
info : 已通过内容哈希 4EN8EE6bZG2U8dFfeqn+Om3UNajK3cPYHvyQROCFm4jNFVLuRB7Nl5bDkjBSAjfctS6konm+ay3u5RafBzltDA== 从 https://api.nuget.org/v3/index.json 安装 K4os.Compression.LZ4 1.2.6 。
info : 已通过内容哈希 5KMcNFRHeRrnJ9c8k5fZcfAJJEY0FndMiDiHIYa35Mx5KCMkeSNo/PEXu7YmtCoVczJagx+Vt7J/F+//S1PcJQ== 从 https://api.nuget.org/v3/index.json 安装 K4os.Compression.LZ4.Streams 1.2.6 。
info : 已通过内容哈希 7b699tU9ba0r7SBK7K9snGJB9ulnOdwEXG28kpVvaQSN0hHenfoJ/ADOtdfhcvcn1KStBX8pFK5qIl8scdBL2g== 从 https://api.nuget.org/v3/index.json 安装 MySql.Data 8.0.28 。
info : 包“MySql.Data”与项目“/Users/morris/Desktop/Demo/Demo.csproj”中指定的所有框架均兼容。
info : 包“MySql.Data”(版本为 8.0.28)的 PackageReference 已添加到文件“/Users/morris/Desktop/Demo/Demo.csproj”。
info : 将资产文件写入磁盘。路径: /Users/morris/Desktop/Demo/obj/project.assets.json
log : 已还原 /Users/morris/Desktop/Demo/Demo.csproj (用时 3.6 sec)。
这个框架就会被下载引用到项目中了
最后执行 dotnet run
, 数据库连接成功!
来源:https://blog.csdn.net/Morris_/article/details/123635287


猜你喜欢
- 一切从一个糟糕的浏览器开始,它完全不支持 XHTML。什么是 MIME Type? 为什么这么说呢?首先,我们要了解浏览器是如何处理内容的。
- 1.删除 1)删除记录 Delete from 表名 where id ='xx' 2)
- 我们知道,做web开发,在调试时需要反复启动整个工程,那么上一个工程占用的端口,在下一次工程启动时就不能用了,因为占用的端口没有释放,但是手
- python 打开浏览器,可以做简单的刷网页的小程序。仅供学习,别用非法用途。python的webbrowser模块支持对浏览器进行一些操作
- 建表CREATE TABLE `map` ( `id` int(11) NOT NULL, `address` varchar(255) N
- 1、线程池模块引入from concurrent.futures import ThreadPoolExecutor2、使用线程池一个简单的
- 距上篇关于淘宝抢购源码的文章已经过去五个月了,五个月来我通过不停的学习,掌握了更深层的抢购技术及原理,而上篇文章中我仅分享了关于加入购物车的
- 一、简介pydantic 库是 python 中用于数据接口定义检查与设置管理的库。pydantic 在运行时强制执行类型提示,并在数据无效
- 1. 引言FLOPs 是 floating point operations 的缩写,指浮点运算数,可以用来衡量模型/算法的计算复杂度。本文
- JPGjpg全名是JPEG 。JPEG 图片以 24 位颜色存储单个光栅图像。JPEG 是与平台无关的格式,支持最高级别的压缩,不过,这种压
- 如果是导入有中文的数据,我的mysql 设置的utf8 字符集,所以你要导入的xxx.txt 文件也要保存ut
- 1.字母和数字键的键码值(keyCode) 按键 键码 按键 键码 按键 键码 按键 键码 A 65 J 74 S 83 1 49 B 66
- 数据预处理在解决深度学习问题的过程中,往往需要花费大量的时间和精力。 数据处理的质量对训练神经网络来说十分重要,良好的数据处理不仅会加速模型
- 『写在前面』以CTC Beam search decoder为例,简单整理一下TensorFlow实现自定义Op的操作流程。基本的流程1.
- 前言python爬虫系列文章的第3篇介绍了网络请求库神器 Requests ,请求把数据返回来之后就要提取目标数据,不同的网站返回的内容通常
- Embedding词嵌入在 pytorch 中非常简单,只需要调用 torch.nn.Embedding(m, n) 就可以了,m 表示单词
- <span id="tiao">3</span><a href="javascr
- 本文实例讲述了django框架事务处理。分享给大家供大家参考,具体如下:django 中要求事务处理的情况有两种:1.基于django or
- Jupyter Notebook本身是默认使用一种Anaconda中root目录下的Python环境的,如果想使用其它的虚拟环境,还需要通过
- 目录1.程序入口2.__name__是什么?场景1:直接运行脚本场景2:从其他脚本导入3.__name__可以显示包路径5.测试模块里函数关