企业网站源码搜一品资源网,哪里做网站排名,华为品牌策划方案,app制作软件手机版下载C# WPF入门学习番外篇#xff08;二#xff09; —— C# WPF使用数据库创建注册登录界面 在这篇番外篇博客中#xff0c;我们将介绍如何在C# WPF应用程序中使用数据库来创建一个简单的注册和登录界面。通过本教程#xff0c;你将学习到如何在WPF中与数据库进行交互#xf…C# WPF入门学习番外篇二 —— C# WPF使用数据库创建注册登录界面 在这篇番外篇博客中我们将介绍如何在C# WPF应用程序中使用数据库来创建一个简单的注册和登录界面。通过本教程你将学习到如何在WPF中与数据库进行交互以及如何实现用户注册和登录功能。
1. 准备工作
首先确保你已经安装了必要的工具和库
Visual StudioMySQL数据库或其他你选择的数据库MySQL Connector/NET通过NuGet安装 MySql.Data 包
准备工作在上一篇番外篇中已经讲过啦~ C# WPF入门学习番外篇一——C#使用WPF连接MySQL数据库
2. 配置数据库
创建一个名为 UserDB 的数据库并创建一个名为 Users 的表
CREATE DATABASE UserDB;
USE UserDB;CREATE TABLE Users (Id INT AUTO_INCREMENT PRIMARY KEY,Username VARCHAR(50) NOT NULL,Password VARCHAR(50) NOT NULL
);这里说明一下我是用的MySQL软件我用的jetbrains家的DataGrip当然没有的话也不影响可以使用MySQL自带的终端来对数据库进行操作。
3. 创建WPF项目
在Visual Studio中创建一个新的WPF项目。
4. 配置连接字符串
在项目的 App.config 文件中添加数据库连接字符串
configurationconnectionStringsadd nameUserDBConnectionString connectionStringServerlocalhost;DatabaseUserDB;User Idmyusername;Passwordmypassword; providerNameMySql.Data.MySqlClient //connectionStrings
/configuration确保替换 myusername 和 mypassword 为你的数据库用户名和密码。
5. 创建WPF界面
在 MainWindow.xaml 中设计一个简单的界面包括注册和登录功能
Window x:ClassWpfApp.MainWindowxmlnshttp://schemas.microsoft.com/winfx/2006/xaml/presentationxmlns:xhttp://schemas.microsoft.com/winfx/2006/xamlTitleUser Registration and Login Height400 Width300Grid Margin0,0,-4,0Grid.ColumnDefinitionsColumnDefinition//Grid.ColumnDefinitionsTextBox x:NametxtUsername Margin95,111,40,228/PasswordBox x:NametxtPassword Margin95,160,40,179/Button ContentRegister ClickRegister_Click Margin77,291,72,19/Button ContentLogin ClickLogin_Click Margin77,210,72,100/Label Content账号 HorizontalAlignmentLeft Margin50,111,0,0 VerticalAlignmentTop Height35/Label Content密码 HorizontalAlignmentLeft Margin50,160,0,0 VerticalAlignmentTop Height35/Label Content注册 HorizontalAlignmentLeft Margin10,40,0,0 VerticalAlignmentTop Height39 Width280 FontSize22 HorizontalContentAlignmentCenter//Grid
/Window6. 编写后台代码
在 MainWindow.xaml.cs 中添加注册和登录的逻辑
using System;
using System.Windows;
using MySql.Data.MySqlClient;
using System.Configuration;namespace WpfApp
{public partial class MainWindow : Window{string connectionString ConfigurationManager.ConnectionStrings[UserDBConnectionString].ConnectionString;public MainWindow(){InitializeComponent();}private void Register_Click(object sender, RoutedEventArgs e){string username txtUsername.Text;string password txtPassword.Password;if (string.IsNullOrWhiteSpace(username) || string.IsNullOrWhiteSpace(password)){MessageBox.Show(Username and password cannot be empty.);return;}try{using (MySqlConnection conn new MySqlConnection(connectionString)){conn.Open();string query INSERT INTO Users (Username, Password) VALUES (username, password);MySqlCommand cmd new MySqlCommand(query, conn);cmd.Parameters.AddWithValue(username, username);cmd.Parameters.AddWithValue(password, password);cmd.ExecuteNonQuery();}MessageBox.Show(Registration successful.);}catch (Exception ex){MessageBox.Show(Error: ex.Message);}}private void Login_Click(object sender, RoutedEventArgs e){string username txtUsername.Text;string password txtPassword.Password;if (string.IsNullOrWhiteSpace(username) || string.IsNullOrWhiteSpace(password)){MessageBox.Show(Username and password cannot be empty.);return;}try{using (MySqlConnection conn new MySqlConnection(connectionString)){conn.Open();string query SELECT COUNT(*) FROM Users WHERE Username username AND Password password;MySqlCommand cmd new MySqlCommand(query, conn);cmd.Parameters.AddWithValue(username, username);cmd.Parameters.AddWithValue(password, password);int count Convert.ToInt32(cmd.ExecuteScalar());if (count 0){MessageBox.Show(Login successful.);}else{MessageBox.Show(Invalid username or password.);}}}catch (Exception ex){MessageBox.Show(Error: ex.Message);}}}
}详细说明 安装 MySQL Connector/NET 使用 NuGet 安装 MySql.Data 包这个包提供了与 MySQL 服务器通信所需的所有类。 配置连接字符串 在 App.config 中配置连接字符串以便应用程序可以连接到数据库。 编写 WPF 界面 设计一个简单的注册和登录界面包含用户名和密码输入框以及注册和登录按钮。 编写后台代码 使用 MySqlConnection 类连接到数据库。在注册按钮点击事件中执行插入操作将新用户信息保存到数据库中。在登录按钮点击事件中执行查询操作验证用户信息。
总结
通过这个教程你学会了如何在WPF应用程序中连接并使用MySQL数据库创建一个基本的用户注册和登录界面。你可以根据需要扩展这个示例添加更多功能和验证逻辑以构建一个更复杂和完整的应用程序。