如何在按钮中验证/检查只有20条记录属于该组名称的数据库表



我使用的是vb。我有一个aspx页面,其中包含一个TextBox(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,表示该学生属于该组名称。

但在保存按钮下,我将如何检查/验证这个组名,例如苹果,是否只有20名学生属于该组。如果用户点击保存第21个学生,它应该显示一条消息,说明该组已满。

我不知道如何与数据库核对。

希望有人能告诉我应该做什么,并附上一个对我来说很好、很容易理解的例子。

在按钮的点击事件中,从STUDENT对将插入的GroupID进行计数。如果计数>19,则显示错误,如果计数<20,插入记录。

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

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

在学生表中插入新行之前,我将使用以下方法来确定组中的学生数量:

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
}

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

最新更新