C# WPF入门学习番外篇——C#使用WPF连接MySQL数据库

在 C# 中使用 WPF 连接 MySQL 数据库涉及几个步骤,包括安装必要的库,配置连接字符串,编写代码以执行数据库操作等。下面是一个详细的入门教程,帮助你理解如何在 WPF 应用程序中使用 MySQL 数据库。

1. 安装 MySQL 数据库连接器

首先,你需要安装 MySQL 数据库连接器(MySQL Connector/NET)。你可以通过 NuGet 包管理器安装:

  1. 打开 Visual Studio。

  2. 在解决方案资源管理器中,右键点击你的项目,然后选择"管理 NuGet 程序包"。

  3. 搜索 MySql.Data 并安装该包。

2. 配置连接字符串

连接字符串用于指定数据库连接的信息。以下是一个示例连接字符串:

csharp 复制代码
string connectionString = "Server=localhost;Database=mydatabase;User Id=myusername;Password=mypassword;";

确保替换 localhostmydatabasemyusernamemypassword 为你的数据库服务器地址,数据库名称,用户名和密码。

3. 编写 WPF 界面

创建一个简单的 WPF 界面,例如包含一个按钮和一个文本框,用于显示数据库中的数据。

xml 复制代码
<Window x:Class="WpfApp.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <Button Name="btnFetchData" Content="Fetch Data" Width="100" Height="30" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="10" Click="btnFetchData_Click"/>
        <TextBox Name="txtData" Width="400" Height="200" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="10,50,0,0" AcceptsReturn="True" VerticalScrollBarVisibility="Auto"/>
    </Grid>
</Window>

4. 编写后台代码

在 MainWindow.xaml.cs 中,添加以下代码以连接到 MySQL 数据库并执行查询:

csharp 复制代码
using System;
using System.Windows;
using MySql.Data.MySqlClient;

namespace WpfApp
{
    public partial class MainWindow : Window
    {
        string connectionString = "data source=你的IP地址,如果是拿自己的电脑来测试一般都是localhost;database=你的数据库名称;user id=root用户名;password=你的数据库登录密码;pooling=false;charset=utf8";

        public MainWindow()
        {
            InitializeComponent();
        }

        private void btnFetchData_Click(object sender, RoutedEventArgs e)
        {
            FetchDataFromDatabase();
        }

        private void FetchDataFromDatabase()
        {
            try
            {
                using (MySqlConnection conn = new MySqlConnection(connectionString))
                {
                    conn.Open();
                    string query = "SELECT * FROM dayone"; // 使用你实际的表名
                    MySqlCommand cmd = new MySqlCommand(query, conn);
                    MySqlDataReader reader = cmd.ExecuteReader();

                    txtData.Clear();
                    while (reader.Read())
                    {
                        // 使用实际的列名
                        txtData.AppendText(reader["id"].ToString() + Environment.NewLine);

                        txtData.AppendText(reader["name"].ToString() + Environment.NewLine);
                    
                }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error: " + ex.Message);
            }
        }
    }
}

详细说明

  1. 安装 MySQL Connector/NET

    • 使用 NuGet 安装 MySql.Data 包,这个包提供了与 MySQL 服务器通信所需的所有类。
  2. 配置连接字符串

    • Server=localhost: 数据库服务器地址。
    • Database=mydatabase: 要连接的数据库名称。
    • User Id=myusername: 数据库用户名。
    • Password=mypassword: 数据库密码。
  3. 编写 WPF 界面

    • 一个按钮 btnFetchData 用于触发数据库数据的获取操作。
    • 一个文本框 txtData 用于显示从数据库中获取的数据。
  4. 编写后台代码

    • 使用 MySqlConnection 类连接到数据库。
    • 使用 MySqlCommand 类执行 SQL 查询。
    • 使用 MySqlDataReader 类读取查询结果。

注意事项

  • 确保你的 MySQL 服务器正在运行,并且连接字符串中的信息正确。
  • 捕获和处理异常,以便在连接数据库或执行查询时出现问题时,提供有用的错误信息。
  • 根据你的需求修改 SQL 查询和界面布局。

通过上述步骤,你应该能够在 WPF 应用程序中成功连接并使用 MySQL 数据库。如果你有更具体的需求或遇到问题,请随时提问!

相关推荐
snow@li2 小时前
数据库:市场中都有哪些数据库 / 优缺点 使用情况
数据库
NoSi EFUL3 小时前
MySQL中ON DUPLICATE KEY UPDATE的介绍与使用、批量更新、存在即更新不存在则插入
android·数据库·mysql
河阿里3 小时前
SQL数据库:五大范式(NF)
数据库·sql·oracle
柴米油盐那点事儿3 小时前
python+mysql+bootstrap条件搜索分页
python·mysql·flask·bootstrap
Devin~Y4 小时前
大厂Java面试实录:Spring Boot/Cloud、Kafka、Redis、K8s 与 Spring AI(RAG/Agent)三轮连环问
java·spring boot·redis·mysql·spring cloud·kafka·kubernetes
l1t4 小时前
DeepSeek总结的PostgreSQL 19查询提示功能
数据库·postgresql
chenxu98b5 小时前
MySQL如何执行.sql 文件:详细教学指南
数据库·mysql
武藤一雄5 小时前
19个核心算法(C#版)
数据结构·windows·算法·c#·排序算法·.net·.netcore
刘晨鑫16 小时前
MongoDB数据库应用
数据库·mongodb
不会编程的懒洋洋6 小时前
C# Task async/await CancellationToken
笔记·c#·线程·面向对象·task·同步异步