C#中实现登录功能的完整步骤

下面我会详细讲解在C#中实现登录功能的完整步骤。

一、准备工作

1.设计数据库

首先我们需要设计一个数据库,用于存储用户信息,包括用户名和密码等。可以设计一个类似下面的用户表:

CREATE TABLE [dbo].[tb_User](
    [UserID] [int] IDENTITY(1,1) NOT NULL,
    [UserName] [nvarchar](50) NOT NULL,
    [Password] [nvarchar](50) NOT NULL
) ON [PRIMARY]

其中UserID是自动生成的唯一标识,UserName是用户名,Password是密码。

2.创建Windows Forms应用程序

其次,我们需要创建一个Windows Forms应用程序,用于实现登录页面和主页面等。

二、实现操作

1.编写连接数据库代码

在C#中,我们可以使用ADO.NET连接数据库。我们需要先设置连接字符串,然后创建SqlConnection对象,并打开与数据库的连接。

string connectionString = "Data Source=localhost;Initial Catalog=MyDatabase;Integrated Security=True";
SqlConnection connection = new SqlConnection(connectionString);
connection.Open();

2.编写登录代码

当用户输入用户名和密码后,我们需要检查数据库中是否有匹配的记录。我们可以使用SqlCommand对象和ExecuteScalar()方法查询。

string sql = "SELECT COUNT(*) FROM tb_User WHERE UserName=@UserName AND Password=@Password";
SqlCommand command = new SqlCommand(sql, connection);
command.Parameters.AddWithValue("@UserName", userName);
command.Parameters.AddWithValue("@Password", password);
int count = (int)command.ExecuteScalar();
if (count > 0)
{
    // 登录成功
}
else
{
    // 登录失败
}

3.完整示例:使用MessageBox显示登录结果

private void buttonLogin_Click(object sender, EventArgs e)
{
    string userName = textBoxUserName.Text.Trim();
    string password = textBoxPassword.Text.Trim();

    string connectionString = "Data Source=localhost;Initial Catalog=MyDatabase;Integrated Security=True";
    SqlConnection connection = new SqlConnection(connectionString);
    connection.Open();

    string sql = "SELECT COUNT(*) FROM tb_User WHERE UserName=@UserName AND Password=@Password";
    SqlCommand command = new SqlCommand(sql, connection);
    command.Parameters.AddWithValue("@UserName", userName);
    command.Parameters.AddWithValue("@Password", password);
    int count = (int)command.ExecuteScalar();
    if (count > 0)
    {
        MessageBox.Show("登录成功!");
    }
    else
    {
        MessageBox.Show("用户名或密码错误!");
    }

    connection.Close();
}

4.使用DataGridView显示用户信息

除了实现登录功能,我们还可以使用DataGridView控件显示用户信息。我们可以编写查询语句,然后使用SqlDataAdapter和Fill()方法将数据填充到DataTable中,最后将DataTable绑定到DataGridView控件上。

string sql = "SELECT UserID, UserName FROM tb_User";
SqlDataAdapter adapter = new SqlDataAdapter(sql, connection);
DataTable table = new DataTable();
adapter.Fill(table);
dataGridView1.DataSource = table;

5.完整示例:登录后显示用户信息

private void buttonLogin_Click(object sender, EventArgs e)
{
    string userName = textBoxUserName.Text.Trim();
    string password = textBoxPassword.Text.Trim();

    string connectionString = "Data Source=localhost;Initial Catalog=MyDatabase;Integrated Security=True";
    SqlConnection connection = new SqlConnection(connectionString);
    connection.Open();

    string sql = "SELECT COUNT(*) FROM tb_User WHERE UserName=@UserName AND Password=@Password";
    SqlCommand command = new SqlCommand(sql, connection);
    command.Parameters.AddWithValue("@UserName", userName);
    command.Parameters.AddWithValue("@Password", password);
    int count = (int)command.ExecuteScalar();
    if (count > 0)
    {
        MessageBox.Show("登录成功!");

        sql = "SELECT UserID, UserName FROM tb_User";
        SqlDataAdapter adapter = new SqlDataAdapter(sql, connection);
        DataTable table = new DataTable();
        adapter.Fill(table);
        dataGridView1.DataSource = table;
    }
    else
    {
        MessageBox.Show("用户名或密码错误!");
    }

    connection.Close();
}

以上就是在C#中实现登录功能的完整步骤,包括连接数据库、查询数据库、显示结果等。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#中实现登录功能的完整步骤 - Python技术站

(0)
上一篇 2023年5月15日
下一篇 2023年5月15日

相关文章

  • C# TextReader.Close – 关闭文本读取器

    TextReader.Close 方法是C#中System.IO.TextReader类的一个实例方法,用于关闭流并释放与之关联的所有系统资源。 使用方法: 首先通过实例化一个TextReader对象,打开一个文本流 对打开的文本流进行读取操作 使用TextReader.Close()方法关闭文件流和内存流 完整代码示例1: using System; us…

    C# 2023年4月19日
    00
  • 使用 CliWrap 让C#中的命令行交互(推荐)

    使用 CliWrap 是一种方便、简单,并且推荐的 C# 调用命令行工具的方式。CliWrap 提供了一个类 CliWrap.Cli,该类封装了启动外部程序和与其进行交互的逻辑。 安装 要使用 CliWrap,需要将它添加到 C# 项目中。添加的方式有以下两种: NuGet:通过 NuGet 包管理器安装 CliWrap。打开 Visual Studio,打…

    C# 2023年6月7日
    00
  • 在Asp.net core项目中使用WebSocket

    在 ASP.NET Core 项目中使用 WebSocket 的完整攻略 WebSocket 是一种在 Web 应用程序中实现实时通信的协议。在 ASP.NET Core 项目中使用 WebSocket 可以实现实时信的功能。下面是详细的攻略: 步骤1:创建 ASP.NET Core 项目 在 Visual Studio 中创建一个名为“WebSocketD…

    C# 2023年5月12日
    00
  • C#实现多线程写入同一个文件的方法

    实现多线程写入同一文件的方法可以使用C#中的StreamWriter类和Mutex类。StreamWriter类可以实现文本文件的写操作,而Mutex类则可以实现多个线程对同一文件进行互斥访问,从而避免写入冲突。 以下是具体的步骤: 步骤1:创建StreamWriter对象 首先我们需要创建一个StreamWriter对象,指定需要写入的文件路径和编码方式。…

    C# 2023年6月1日
    00
  • C# 控件属性和InitializeComponent()关系案例详解

    首先,C#控件属性是指控件的各种特性,例如大小、位置、颜色、字体、文本等等。这些属性可以通过在代码中直接设置,或者使用可视化设计器的方式来进行设置。 其次,InitializeComponent()是一个自动生成的方法,用于初始化包含在窗体中的控件。这个方法由Visual Studio在窗体设计器中自动生成,一般情况下应该不需要手动修改它。 了解控件属性和I…

    C# 2023年6月1日
    00
  • C#遍历集合与移除元素的方法

    关于C#遍历集合与移除元素的方法,我来给大家讲解一下。主要分为两个部分:遍历集合和移除元素。下面将介绍两种常用的方法。 遍历集合 方法一:foreach循环 遍历集合最常用的方式之一就是使用foreach循环。语法如下: foreach (var item in collection) { // 执行代码 } 其中,item代表集合中的每个元素,collec…

    C# 2023年6月7日
    00
  • Quartz.Net任务和触发器实现方法详解

    Quartz.Net任务和触发器实现方法详解 什么是Quartz.Net Quartz.Net是一款开源的作业调度框架,可以让开发者方便地实现基于时间的调度任务。它支持丰富的调度方式(间隔调度、CRON表达式等),并提供了丰富的API,使得开发者能够更加灵活地进行任务调度。 Quartz.Net的主要组件 Quartz.Net主要由以下几个组件构成: Sch…

    C# 2023年5月31日
    00
  • C#中using语句的用法

    当我们在使用C#编写代码时,经常会涉及到需要使用一些资源,例如文件、数据库连接等等。为了避免资源被长时间占用,并能够在资源使用完毕后自动释放这些资源,C#语言提供了using语句的语法。 什么是using语句 在C#中,using语句是一个用于创建和处理对象的语句块。在这个语句块中,代码可以访问对象或资源并在不需要它们时释放它们。 using语句适用于那些实…

    C# 2023年5月15日
    00
合作推广
合作推广
分享本页
返回顶部