【C# 功能总结 3】 C# 查询的数据集存到DataTable中,显示再一览Grid中。

在C#中,您可以使用DataTable来存储从数据库查询的数据,并将其显示在一个DataGridView控件中。以下是一个完整的示例,展示了如何从SQL Server数据库中查询数据并将结果显示在DataGridView中。

步骤概述

  1. 设置项目:确保您的项目引用了必要的库。
  2. 设计窗体:在Windows Forms应用程序中添加一个DataGridView控件。
  3. 编写代码:编写代码连接到数据库、执行查询并将结果填充到DataTable,然后将DataTable绑定到DataGridView。

详细步骤

1. 设置项目

确保您的项目引用了System.Data.SqlClient(适用于.NET Framework)或Microsoft.Data.SqlClient(适用于.NET Core和.NET 5+)。

对于 .NET Framework:
 

bash

Install-Package System.Data.SqlClient
对于 .NET Core 或 .NET 5+:
 

bash

dotnet add package Microsoft.Data.SqlClient
2. 设计窗体

在Visual Studio中创建一个新的Windows Forms应用程序项目,并在窗体上添加一个DataGridView控件。

  1. 打开Visual Studio并创建一个新的Windows Forms App (.NET Framework) 或 Windows Forms App (.NET Core) 项目。
  2. 在设计器中,从工具箱拖动一个DataGridView控件到窗体上。
  3. 将DataGridView控件命名为dataGridView1(默认名称通常是这样)。
3. 编写代码

在窗体的代码文件中编写代码以连接到数据库、执行查询并将结果填充到DataTable,然后将DataTable绑定到DataGridView。

示例代码
 

csharp

using System;
using System.Data;
using System.Data.SqlClient;
using System.Windows.Forms;

namespace DataGridViewExample
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            LoadDataIntoDataGridView();
        }

        private void LoadDataIntoDataGridView()
        {
            // 定义连接字符串
            string connectionString = "Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;";

            // 使用连接字符串创建SqlConnection对象
            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                try
                {
                    // 打开数据库连接
                    connection.Open();
                    Console.WriteLine("Connection opened successfully.");

                    // 定义查询字符串
                    string query = "SELECT * FROM MyTable";

                    // 创建SqlCommand对象
                    using (SqlCommand command = new SqlCommand(query, connection))
                    {
                        // 创建SqlDataAdapter对象
                        using (SqlDataAdapter adapter = new SqlDataAdapter(command))
                        {
                            // 创建DataTable对象
                            DataTable dataTable = new DataTable();

                            // 使用SqlDataAdapter填充DataTable
                            adapter.Fill(dataTable);

                            // 将DataTable绑定到DataGridView
                            dataGridView1.DataSource = dataTable;
                        }
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("An error occurred: " + ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                finally
                {
                    if (connection.State == ConnectionState.Open)
                    {
                        connection.Close();
                        Console.WriteLine("Connection closed.");
                    }
                }
            }
        }
    }
}

解释

  1. 连接字符串:

    • 定义连接字符串以连接到SQL Server数据库。根据您的实际情况替换myServerAddressmyDataBasemyUsername, 和 myPassword
  2. 打开连接:

    • 使用SqlConnection对象打开与数据库的连接。
  3. 执行查询:

    • 使用SqlCommand对象定义并执行SQL查询。
  4. 填充DataTable:

    • 使用SqlDataAdapter对象将查询结果填充到DataTable中。
  5. 绑定到DataGridView:

    • DataTable设置为DataGridView的DataSource,以便在界面上显示数据。
  6. 异常处理:

    • 使用try-catch块捕获并处理可能发生的异常,例如连接失败或查询错误。
  7. 关闭连接:

    • finally块中确保数据库连接被关闭。

运行结果

运行上述代码后,窗体会加载并显示从MyTable表中查询的数据。DataGridView会自动根据DataTable的列和数据进行布局和显示。

注意事项

  1. 安全性:

    • 不要在代码中硬编码敏感信息(如用户名和密码)。可以使用配置文件(如appsettings.json)或环境变量来存储连接字符串。
    • 使用参数化查询来防止SQL注入攻击。
  2. 性能:

    • 对于大型数据集,考虑使用分页或其他技术来提高性能和用户体验。
  3. 异常处理:

    • 始终使用try-catch块来捕获和处理数据库操作过程中可能出现的异常。

通过以上步骤和示例代码,您可以在C# Windows Forms应用程序中连接到SQL Server数据库,查询数据并将结果显示在DataGridView中。根据具体需求,您可以进一步扩展和优化这些代码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

路飞VS草帽

一毛钱带我飞~~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值