c# - 如何处理 MySqlDataAdapter 引入的数据集中单个列的数据?

标签 c# mysql winforms

我正在使用 MySqlDataAdapter 像这样用我的数据库中的数据填充 dataGridView 小部件

 using (var connection = new MySqlConnection(ConnectionString))
        {
            var adapter = new MySqlDataAdapter("SELECT username AS `Opened By`, assignee_id AS `Assigned To`, ticket_category AS `Category`, ticket_summary AS `Summary`, ticket_description AS `Description`, ticket_status AS `Status` FROM tickets INNER JOIN users ON tickets.user_id = users.user_id;", connection);

            var dataset = new DataSet();

            adapter.Fill(dataset);

            ticketDataGrid.DataSource = dataset.Tables[0];
        }

ticket_status 是一个 tinyint( bool 值),用于确定工单是打开还是关闭。如果值为 1,则工单打开,如果值为 0,则工单关闭。

当我用从数据库中引入的数据集填充此 dataGridView 时,Status 列(来自 ticket_status 列的数据)仅包含 1 或 0(因为这是它们存储在数据库中的内容)

我想在将数据集分配为 dataGridView 的数据源之前处理此列,这样如果 ticket_status 的值为 1,则字符串“Open”将添加到该列而不是 1,如果 ticket_status 的值为 0,则将字符串“Closed”添加到列而不是 0。

我怎样才能做到这一点?

最佳答案

只是替换

ticket_status AS `Status`

IF(ticket_status=1,'Open','Closed') AS `Status`

在你的选择语句中

关于c# - 如何处理 MySqlDataAdapter 引入的数据集中单个列的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51588419/

相关文章:

php - 对话的数据库逻辑(如论坛)PHP、MySql

c# 调整 datagridview 列的大小以适应控件

c# - nuget 包管理器版本问题 VS 2013

java - 我应该如何编写 .i 文件以用 Java 或 C# 包装回调

c# - 我如何在 NuSpec 文件中创建占位符并通过 TeamCity 参数替换它们

php - 在 php 中选择另一个网站的值时如何填充下拉框的值

MySQL 使用主键删除重复行

c# - 是否有现成的方法可以确定事件窗口位于多个屏幕中的哪一个?

c# - 调用 MessageBox 和 BeginInvoking 有什么区别?

c# - 对 ServiceStack.NET 的建议