我有一个简单的问题。我在数据集设计器中有一个包含此查询的表
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)
答案 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();