C#数据表格(DataGridView)控件的应用案例

下面我来详细讲解“C# 数据表格(DataGridView)控件的应用案例”的完整攻略,包含两条示例说明。

简介

DataGridView 控件是 C# Windows 窗体应用程序中常用的控件之一,它可以用于展示和编辑数据。在本文中,将会有两个具体的示例,演示如何使用 DataGridView 控件。

示例1:DataGridView 显示数据库表格数据

首先,我们先新建一个 Windows 窗体项目。然后,我们选择“添加新项”,新建一个数据库文件并在里面新建一张表格,数据表如下:

id name age
1 张三 20
2 李四 23
3 王五 22

接着,我们需要在窗体中添加一个 DataGridView 控件,右键 DataGridView 控件,选择“属性”,在“数据”选项卡中,找到“数据源”属性,点击“选择数据源”,选择“添加项目数据集”,然后选择数据表。完成后,DataGridView 控件就会自动显示数据表格数据。

示例代码如下:

private void Form1_Load(object sender, EventArgs e)
{
    // 数据库连接字符串
    string connectionString =
          "Data Source=(LocalDB)\\MSSQLLocalDB;"
        + "AttachDbFilename=|DataDirectory|\\Database1.mdf;"
        + "Integrated Security=True";

    // SQL 查询语句
    string query = "SELECT * FROM Table1";

    // 创建数据库连接和命令对象
    using (SqlConnection connection = new SqlConnection(connectionString))
    using (SqlCommand command = new SqlCommand(query, connection))
    {
        // 打开数据库连接
        connection.Open();

        // 创建适配器对象和数据集对象
        using (SqlDataAdapter adapter = new SqlDataAdapter(command))
        using (DataSet dataSet = new DataSet())
        {
            // 填充数据集
            adapter.Fill(dataSet);

            // 绑定数据集到 DataGridView 控件
            dataGridView1.DataSource = dataSet.Tables[0];
        }
    }
}

示例2:DataGridView 编辑表格数据并更新到数据库

接下来,我们将演示如何在 DataGridView 控件中编辑和删除数据,并将变更更新到数据库中。

在窗体中的 DataGridView 控件中,我们设置“AllowUserToAddRows”和“AllowUserToDeleteRows”属性为 true,这样就可以在 DataGridView 中新增和删除数据。接下来,在“数据”选项卡的“数据集”属性中,右键数据表,选择“生成新的 CRUD 操作”,创建一个数据表适配器,可以使用它来将变更更新到数据库中。

代码示例如下:

// 定义数据适配器和数据集对象
private SqlDataAdapter dataAdapter;
private DataSet dataSet;

private void Form1_Load(object sender, EventArgs e)
{
    // 数据库连接字符串
    string connectionString =
          "Data Source=(LocalDB)\\MSSQLLocalDB;"
        + "AttachDbFilename=|DataDirectory|\\Database1.mdf;"
        + "Integrated Security=True";

    // SQL 查询语句
    string query = "SELECT * FROM Table1";

    // 创建数据库连接和命令对象
    using (SqlConnection connection = new SqlConnection(connectionString))
    using (SqlCommand command = new SqlCommand(query, connection))
    {
        // 创建适配器对象和数据集对象
        dataAdapter = new SqlDataAdapter(command);
        dataSet = new DataSet();

        // 填充数据集
        dataAdapter.Fill(dataSet);

        // 绑定数据集到 DataGridView 控件
        dataGridView1.DataSource = dataSet.Tables[0];
    }
}

// 保存数据到数据库
private void SaveData()
{
    try
    {
        // 更新数据集中的变更
        dataAdapter.Update(dataSet);

        // 提示保存成功
        MessageBox.Show("保存成功!", "提示");
    }
    catch (Exception ex)
    {
        // 显示异常信息
        MessageBox.Show(ex.Message, "保存失败");
    }
}

// 窗体关闭事件
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
    // 保存数据到数据库
    SaveData();
}

以上就是 C# DataGridView 控件的两个应用案例,其中第一个示例是展示数据表格,第二个示例则是演示如何对数据表格进行操作并更新到数据库中。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#数据表格(DataGridView)控件的应用案例 - Python技术站

(0)
上一篇 2023年6月1日
下一篇 2023年6月1日

相关文章

  • 关于ASP网页无法打开的解决方案

    关于ASP网页无法打开的解决方案 ASP(Active Server Pages)是一种动态网页技术,常用于Web应用程序的开发。但在使用ASP技术的网站中,有时会出现ASP网页无法打开的情况,本文将为您提供几种解决方案。 检查ASP环境 确保ASP环境是否正常。如果您的服务器上没有安装IIS(Internet Information Services)或没…

    C# 2023年6月3日
    00
  • C#非托管泄漏中HEAP_ENTRY的Size对不上解析

    首先需要了解的是,C#是一门托管语言,不直接操作操作系统资源,它将语言运行时交给CLR处理。而非托管语言则可以直接操作操作系统资源,如C++、C等。 当C#程序中使用非托管代码时,就有可能会遇到内存泄漏的问题。 一种常见的内存泄漏是由于使用了错误的HeapFree方法导致的,这时可以考虑使用GCHandle.Alloc方法来获取一个指向对象的Handle,并…

    C# 2023年6月6日
    00
  • C#数据类型实现背包、队列和栈

    C#中支持多种数据类型,其中一些常用的数据类型可以被用于实现背包、队列和栈等数据结构。 背包 背包可以用C#的List类来实现。List类是一个动态数组,它可以在运行时随意增加或减少元素。下面是一个使用List类实现背包功能的例子: List<int> bag = new List<int>(); bag.Add(1); bag.Ad…

    C# 2023年6月1日
    00
  • Asp.net Core MVC中怎么把二级域名绑定到特定的控制器上

    Asp.net Core MVC中如何把二级域名绑定到特定的控制器上 在 Asp.net Core MVC 中,可以通过配置路由来将二级域名绑定到特定的控制器上。本攻略将介绍如何实现这一功能。 步骤 步骤1:创建一个新的 Asp.net Core MVC 项目 首先,我们需要创建一个新的 Asp.net Core MVC 项目。可以使用以下命令在命令行中创建…

    C# 2023年5月17日
    00
  • C#不提升自己程序的权限实现操作注册表

    C#在windows下进行操作系统相关的功能时,通常需要提升程序的权限。这里介绍一种不必提升权限的方法,实现对Windows注册表的操作。 前置知识 这种方法需要使用到Windows API,具体是RegistryKey类中的API。在使用此方法前,你需要熟悉C#编程、Windows API以及注册表的相关知识。 实现方法 C#提供了RegistryKey类…

    C# 2023年5月15日
    00
  • C# ComboBox的联动操作(三层架构)

    完整攻略 首先,针对C# ComboBox的联动操作,我们需要使用三层架构的思想进行设计。 三层架构分别为: 表现层(Presentation Layer):用户界面(界面层)。 业务逻辑层(Business Logic Layer):负责业务逻辑的处理。 数据访问层(Data Access Layer):与数据存储的交互。 接下来,我们按照以下步骤进行: …

    C# 2023年6月1日
    00
  • C#中FileSystemWatcher的使用教程

    我将详细讲解如何使用C#中的FileSystemWatcher来监听文件系统的改变。本教程将包含以下内容: 简介:FileSystemWatcher是什么以及如何使用它 监听文件夹和文件变化的方式 示例说明 1. 简介 FileSystemWatcher是.NET Framework中的一个类,它以异步的方式监听文件和目录的变化。它可以监控以下变化: 文件或…

    C# 2023年5月31日
    00
  • C#中Ilist与list的区别小结

    C#中IList与List的区别小结 在C#中,IList与List是两个常用的接口和类。他们有一些共性,也有一些细微的区别。 IList IList接口定义了一个表示非泛型列表的对象的协定。它派生自ICollection接口并在其基础上添加了一些访问列表中元素的方法,如索引器和插入/删除等操作。IList支持在列表中插入、删除和访问元素的方法。他的定义如下…

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