关于插入C#和T-SQL后的条件

关于插入C#和T-SQL后的条件,c#,sql-server,C#,Sql Server,我在一张表格中插入了一支新球队参加锦标赛,但锦标赛不能超过X支球队。它是如何在特定条件下工作的 例如,在我的C#代码中,我有以下内容: if (listBox_AffiliatedTeams.Items.Count > Convert.ToInt32(label_nbrTeams.Text)) { MessageBox.Show("Sorry, the maximum of different teams is already reached !"); } el

我在一张表格中插入了一支新球队参加锦标赛,但锦标赛不能超过X支球队。它是如何在特定条件下工作的

例如,在我的C#代码中,我有以下内容:

if (listBox_AffiliatedTeams.Items.Count > Convert.ToInt32(label_nbrTeams.Text))
{
    MessageBox.Show("Sorry, the maximum of different teams is already reached !");
}
else
    try
    {
        if(PlayerSelected == null)
        {
            MessageBox.Show("Please select first a player to join");
        }
        else
        aService.NewAffiliation(championshipSelected.Ch_Year, 1, PlayerSelected.Pl_LastName, PlayerSelected.Pl_FirstName, TeamSelected.Te_Name);
当锦标赛达到最多团队数时(例如4个),如果我添加一个新团队,它就会工作。只有在5支球队加入之后,这个条件才得到尊重,但我还有一支球队超过了上限。 我想避免超过这个最大值

编辑:在现实中,我为冠军插入了一个球队的附属球员,所以我需要能够在同一个球队中插入多个球员


只有当插入的团队与其他团队不同时,团队的数量才会增加。

看起来您应该将if语句中的
替换为
=
。如果计数为4,最大值为4,则4不大于4,因此仍将插入团队。如果您使用
=
应该避免此问题,因为4小于或等于4,团队将不会被插入。

我终于找到了一种方法。不漂亮,但它的工作:P 我使用一个包含所有团队名称的字符串列表,然后使用“.contains”

List List=(List)listBox_AffiliatedTeams.DataSource;
List lstTeam=新列表();
foreach(列表中的变量项)
{
添加(item.Te_Name.ToString());
}
if(列表框\u AffiliatedTeams.Items.Count>Convert.ToInt32(标签\u nbrTeams.Text))
{
Show(“对不起,已达到不同团队的最大值!”);
}
其他的
尝试
{
如果(PlayerSelected==null)
{
MessageBox.Show(“请先选择要加入的玩家”);
}
其他的
if(lstTeam.Contains(TeamSelected.Te_Name.ToString()))
A服务。新附属关系(championshipSelected.Ch_Year,1,PlayerSelected.Pl_LastName,PlayerSelected.Pl_FirstName,TeamSelected.Te_Name);
其他的
{
Show(“对不起,已达到不同团队的最大值!”);
}
}

对不起,我忘了提到我要编辑的同一支球队(实际上,我要插入一支球队的球员参加锦标赛)实际上需要插入不止一次。哦,对不起,我错过了你的评论。不过,我很高兴你找到了答案!
List<Affiliation_GetTeamsNameAffilied_Result> list = (List<Affiliation_GetTeamsNameAffilied_Result>)listBox_AffiliatedTeams.DataSource;
            List<string> lstTeam = new List<string>();

            foreach (var item in list)
            {
                lstTeam.Add(item.Te_Name.ToString());
            }
            if (listBox_AffiliatedTeams.Items.Count > Convert.ToInt32(label_nbrTeams.Text))
            {
                MessageBox.Show("Sorry, the maximum of different teams is already reached !");
            }
            else
                try
                {
                    if(PlayerSelected == null)
                    {
                        MessageBox.Show("Please select first a player to join");
                    }
                    else
                        if (lstTeam.Contains(TeamSelected.Te_Name.ToString()))
                    aService.NewAffiliation(championshipSelected.Ch_Year, 1, PlayerSelected.Pl_LastName, PlayerSelected.Pl_FirstName, TeamSelected.Te_Name);
                    else
                    {
                        MessageBox.Show("Sorry, the maximum of different teams is already reached !");
                    }

                }