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

yizhihongxing

下面我来详细讲解“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日

相关文章

  • 教你创建一个带诊断工具的.NET镜像

    教你创建一个带诊断工具的.NET镜像 在.NET应用程序中,诊断工具是一项非常重要的任务,它可以帮助您跟踪应用程序的运行情况并诊断问题。在本攻略,我们将详细讲解如何创建一个带诊断工具的.NET镜像,并提供两个示例说明。 步骤一:创建Dockerfile 要创建一个带诊断工具的.NET镜像,您需要创建一个Dockerfile。以下是Dockerfile的示例代…

    C# 2023年5月17日
    00
  • C#新特性之可空引用类型

    C#新特性之可空引用类型 在 C# 8.0 版本中,引入了一种全新的类型——可空引用类型。这种类型让我们能够更精确的掌控和避免代码中可能存在的 null 引用异常(NullReferenceException)。 可空引用类型的定义 可空引用类型是一种新的变量类型,允许存储 null 值。在使用可空引用类型时,我们必须使用 ? 操作符将类型名称与声明分开。 …

    C# 2023年6月7日
    00
  • C#实现简单飞行棋小游戏

    首先来讲一下“C#实现简单飞行棋小游戏”的完整攻略。 简介 飞行棋,是一种以飞行为主题的棋类游戏,是一种常见的亲子游戏。游戏规则简单、易于上手,非常适合大众化的群体。 游戏规则 游戏地图共有 100 个格子,分别标记着不同的内容,如酒驾、炸弹、地雷、停机坪、幸福、喜事等等。同时,每个玩家有 4 个棋子,起点和终点不同,各自从起点进入,经过终点,返回起点,先完…

    C# 2023年6月7日
    00
  • C# TextReader.Read – 读取一个字符

    C#中的TextReader.Read方法用于从输入流中读取一个字符,并将该字符作为int类型返回。如果流已经位于末尾,则返回-1。 使用到TextReader.Read方法需要先实例化一个TextReader类的对象,常见的TextReader实例化有两种方式:StreamReader和StringReader。StreamReader从文件流中读取数据,…

    C# 2023年4月19日
    00
  • C# readnodefile()不能读取带有文件名为汉字的osg文件解决方法

    问题描述:在使用C#的readnodefile()函数读取osg文件时,如果文件名中带有汉字,函数会出现错误无法读取文件的情况。那么该如何解决这个问题呢?我们可以按照以下步骤进行尝试解决。 解决方案: Step 1. 确认文件路径是否正确 在使用readnodefile()函数读取文件时,首先需要确认传入的文件路径是否正确。检查是否在路径中包含了文件名中带有…

    C# 2023年6月1日
    00
  • 符合标准的js对联广告

    下面是关于“符合标准的js对联广告”的完整攻略。 什么是对联广告 对联广告是网站广告形式之一,通常出现在网页的左右两侧。对联广告通常由两个广告单元组成,它们在同一水平线上,并且左右相对称。 什么是符合标准的js对联广告 符合标准的js对联广告需要满足以下要求: 左右两侧的广告单元大小要相等。 广告单元要在同一水平线上。 左右两侧的广告单元需要有统一的div …

    C# 2023年5月31日
    00
  • ASP.NET Core中使用xUnit进行单元测试

    ASP.NET Core中使用xUnit进行单元测试攻略 在ASP.NET Core中,xUnit是一种流行的单元测试框架。在本攻略中,我们将深入讲解如何使用xUnit进行单元测试,并提供两个示例说明。 xUnit的安装 在使用xUnit进行单元测试之前,我们需要安装xUnit。以下是安装xUnit的步骤: 在Visual Studio中,打开NuGet包管…

    C# 2023年5月17日
    00
  • C# Lambda表达式及Lambda表达式树的创建过程

    让我们来详细讲解一下C# Lambda表达式及Lambda表达式树的创建过程。 什么是Lambda表达式 Lambda表达式是C# 3.0引入的一种新的语言特性,它是一种可创建委托或表达式树类型的匿名函数。可以将Lambda表达式看作一个简短的函数,它没有名称,但它可以被赋值给委托类型或表达式树类型。 Lambda表达式的基本语法格式如下: (paramet…

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