Asp.net 如何验证/检查数据库表中只有20条记录属于此groupname in按钮?

Asp.net 如何验证/检查数据库表中只有20条记录属于此groupname in按钮?,asp.net,vb.net,ado.net,Asp.net,Vb.net,Ado.net,我正在使用vb。我有一个aspx页面,其中包含一个文本框(txtStudentName),一个DropBox(dropdownlistGroupName)和一个保存按钮 student table StudentID StudentName GroupID 1 ABC 1 2 DEF 1 3 GHI 2 Group table GroupID Gro

我正在使用vb。我有一个aspx页面,其中包含一个文本框(
txtStudentName
),一个DropBox(
dropdownlistGroupName
)和一个保存按钮

student table
    StudentID StudentName GroupID
       1         ABC        1
       2         DEF        1
       3         GHI        2

Group table   
GroupID GroupName
    1           Pear
    2           Apple
    3           Strawberry
当我点击
Save
按钮时,它会插入student,表示这个学生属于这个组名

但是在保存按钮上,我将如何检查/验证该组名称(例如Apple)是否只有20名学生属于该组。如果用户单击保存第21名学生,则应显示一条消息,说明该组已满

我不知道如何检查数据库


希望有人能告诉我应该做什么,并给我举一个简单易懂的例子。

在学生表中插入新行之前,我会使用以下公式确定组中的学生人数:

int count;
using (SqlConnection connection = new SqlConnection())
{
    using (SqlCommand command = new SqlCommand("SELECT COUNT(*) FROM [Student] WHERE [GroupID] = @GroupID", connection))
    {
        command.Parameters.AddWithValue("@GroupID", groupId);
        connection.Open();
        count = (int)command.ExecuteScalar();
    }
}

if (count > 20)
{
    // Display error message.
}
else
{
    // Insert row into Student table
}

或者,您可以将行插入学生表,然后进行计数,如果计数大于20,则回滚事务并显示消息。

在按钮的单击事件中,从学生处对将插入的GroupID进行计数。如果计数大于19,则显示错误;如果计数小于20,则插入记录

如果STUDENT中已有20条或更多记录,则也不能允许指定的GroupID可供选择。例如,如果有GroupID填充组合框,则可以更改填充组合框的条件,使其仅包含计数小于20的GroupID


即使我只显示少于20条记录的GroupID(在组合框填充时),我仍然会在插入之前检查STUDENT中的计数,以防在组合框填充后其他人插入记录。

我正在尝试了解您的要求。STUDENT中给定的GroupID不能有超过20条记录?@DanNewhouse举个例子,此学生列表中只有20名学生有此GroupID(1),那么应该如何在我的保存中检查button@DiamondGeezeR我需要检查我的学生表,只有20个学生可以有这个groupID,那么,我应该如何在我的按钮中使用您的声明来反对database@devilking我已修改该语句以引用学生表而不是组表。例如,只需将语句包装在SqlCommand对象中并发送到数据库。然后检查返回值。@Diamond GeezeR可以给我看一个exmaple吗?非常感谢,以及如何检查if语句中的计数>20…我的意思是如何调用if语句的计数。@devilking我编辑了答案,以显示如何查询数据库。您需要将数据库的连接字符串添加到对SqlConnection构造函数的调用中。