c# - 在文本框中显示计数

标签 c# sql-server

我有一个简单的问题。我在数据集设计器中有一个表有这个查询

SELECT COUNT(Sex) AS Male, COUNT(Sex) AS Female
FROM tblPersonalInfo

你能告诉我如何在 2 个文本框中显示男性和女性的数量吗?你能检查一下我的查询是否正确吗?我是 visual studio c# 2010 的新手。

在我以前的项目中,我使用它们从数据库中检索数据并显示在文本框中。

public MAINDATABASEDataSet.tblPositionDataTable GetPositionData(string data)
        {
            MAINDATABASEDataSetTableAdapters.tblPositionTableAdapter ReturnPosition =  new MAINDATABASEDataSetTableAdapters.tblPositionTableAdapter();
            return ReturnPosition.GetDataByPosition(this.txtSearch.Text.Trim());

        }

}
 private void btnCompleteSearch_Click(object sender, EventArgs e)
        {

                    MAINDATABASEDataSet.tblPositionDataTable GetPositionCommand1 = GetPositionData(this.txtSearch.Text);
                    MAINDATABASEDataSet.tblPositionRow GetPositionCommand2 = (MAINDATABASEDataSet.tblPositionRow)GetPositionCommand1.Rows[0];
                    this.txtMainPosition.Text = GetPositionCommand2.Position.ToString();


            }

我使用这个查询:

SELECT   Position  
FROM     tblPosition
WHERE    (ID = @IDMain)

最佳答案

如果没有看到任何代码或背景,就不可能正确回答,但就目前而言,您的查询将产生与男性相同的计数。只计算男性你需要类似的东西

SELECT COUNT(Sex) AS Male,
FROM tblPersonalInfo
WHERE Sex = 'Male'

然后是女性的第二个查询。否则

SELECT COUNT(Sex)
FROM tblPeroncalInfo
GROUP BY Sex

或者如果您真的需要它们作为单独的列:

SELECT SUM(CASE WHEN Sex = 'Male' 1 ELSE 0 END) AS Male,
       SUM(CASE WHEN Sex = 'Female' 1 ELSE 0 END) AS Female
FROM tblPersonalInfo

关于c# - 在文本框中显示计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22218199/

相关文章:

c# - 数据类型为int的列有加密方法吗?

c# - 如何避免 Xamarin 表单 iOS 中显示和隐藏 UI 控件的波动?

c# - C# 中的 Foreach struct 奇怪的编译错误

c# - 在 Visual Studio 中创建基于服务的数据库

sql - 仅从sql查询中获取指定小数部分的数据

sql-server - 如何查找 Azure Synapse 专用 SQL 池中分区的范围值

sql-server - SQL Server性能: GROUP BY int vs GROUP BY VARCHAR

c# - 从 Collection 元素到 Int64 的转换错误。指定的转换无效

c# - Crystal 报表查看器未显示与在 Crystal 报表中打开的报表相同的报表布局

sql-server - 从TRY…CATCH block 调用时,SQL Server存储过程的返回码为NULL。