文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

C# 连接本地数据库的实现示例

2024-04-02 19:55

关注

使用环境 

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语句,使用MySqlConnectionMySqlCommand 等类进行数据库的操作

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 , 数据库连接成功!

在这里插入图片描述

 到此这篇关于C# 连接本地数据库的实现示例的文章就介绍到这了,更多相关C# 连接本地数据库内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯