在文本框中显示计数

时间:2014-03-06 07:45:39

标签: c# sql-server

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

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

您能告诉我如何在2个文本框中显示男性和女性的数量吗?你能检查一下我的查询是否正确吗?我是视觉工作室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)

3 个答案:

答案 0 :(得分:0)

在没有看到任何代码或背景的情况下,它无法正确回答,但是现在您的查询将产生与男性相同的数量。只计算你需要的男性

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

答案 1 :(得分:0)

查询应该像

SELECT COUNT(Sex) from tblPersonalInfo GROUP BY SEX

答案 2 :(得分:0)

您需要像这样修改您的查询:

SELECT COUNT(sex) FROM tblPersonalInfo WHERE sex = 'male'

int maleCount = (int)cmd.ExecuteScaler();

SELECT COUNT(sex) FROM tblPersonalInfo WHERE sex = 'female'

int femaleCount = (int)cmd.ExecuteScaler();

您可以在两个文本框中显示计数

textBoxMale.text = maleCount.ToString();
textBoxFemale.text = femaleCount.Tostring();