关于插入C#和T-SQL后的条件
我在一张表格中插入了一支新球队参加锦标赛,但锦标赛不能超过X支球队。它是如何在特定条件下工作的 例如,在我的C#代码中,我有以下内容:关于插入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
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 !");
}
}