Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 是否同时检查?@Karl,如果可能的话,是的。insert语句可以从select语句中获取值,该语句也对注册进行计数,并且仅在计数为零时返回值。@jdotjdot,为什么在查询中链接到waitingList?我想我们应该检查一下培训,看看是否有空位。wat_Asp.net_Sql_Vb.net - Fatal编程技术网

Asp.net 是否同时检查?@Karl,如果可能的话,是的。insert语句可以从select语句中获取值,该语句也对注册进行计数,并且仅在计数为零时返回值。@jdotjdot,为什么在查询中链接到waitingList?我想我们应该检查一下培训,看看是否有空位。wat

Asp.net 是否同时检查?@Karl,如果可能的话,是的。insert语句可以从select语句中获取值,该语句也对注册进行计数,并且仅在计数为零时返回值。@jdotjdot,为什么在查询中链接到waitingList?我想我们应该检查一下培训,看看是否有空位。wat,asp.net,sql,vb.net,Asp.net,Sql,Vb.net,是否同时检查?@Karl,如果可能的话,是的。insert语句可以从select语句中获取值,该语句也对注册进行计数,并且仅在计数为零时返回值。@jdotjdot,为什么在查询中链接到waitingList?我想我们应该检查一下培训,看看是否有空位。watingList表应该没有限制。muratgu,我对你将表格A和表格B进行比较感到困惑。也许,我不是很清楚。如何将该代码与检查用户是否已注册某个类的代码合并?我需要补充的是,它不仅仅是一个类,而是来自多个位置的几个类。所以,我们需要确保用户已经从


是否同时检查?@Karl,如果可能的话,是的。
insert
语句可以从
select
语句中获取值,该语句也对注册进行计数,并且仅在计数为零时返回值。@jdotjdot,为什么在查询中链接到waitingList?我想我们应该检查一下培训,看看是否有空位。watingList表应该没有限制。muratgu,我对你将表格A和表格B进行比较感到困惑。也许,我不是很清楚。如何将该代码与检查用户是否已注册某个类的代码合并?我需要补充的是,它不仅仅是一个类,而是来自多个位置的几个类。所以,我们需要确保用户已经从正确的位置注册了正确的课程。@kenny:为什么困惑?您可以创建一个select,它从任何表(您已经有了这个表)返回任何条件的行数。如果它返回0,那么它将向目标表中插入一条记录(您也有这条记录)。在决定是否加入培训或等待名单之前,我如何同时检查这两个条件?我完全误解了你的意思。我以为你在问如何一步完成计数和插入。忽略我的回答。我的IF语句是否仍然相同?例如,我可以继续说,如果counter=0,这意味着用户没有注册tblTrainings,也不在等待名单上,那又怎样???然后,我如何根据可用座位数大于0来决定是否将用户添加到培训表中,或者将用户添加到等待列表中,因为现在可用座位数为0????这就是我仍然困惑的地方。抱歉,如果这对你来说很容易。仍然不起作用。在这里,我将指出我所做的两个更改,而不是将整个代码都放在这里。首先,我将其从
如果CourseSize 0更改为…
,另一个更改是我添加了
其中username='“&username&'”…
。我之所以做这些更改,是因为您发布的原始代码,尽管看起来很棒,但给了我相同的结果。若我单击insert,它第一次进入waitinglist表。我再试一次,收到消息说我已经报名上课了。只有当CourseSize=0并且我还没有升级时,它才应该进入等待列表,我认为如果CourseSize>0,这是你的问题。因为
CourseSize
是报名参加课程的人数,所以你要说的是“如果至少有一个人报名参加了课程,那么就让他报名参加。如果没有人报名,那么就把他放在等待名单上。”这显然不是你想要的。因此,您最终会遇到两个问题:1)如果当前注册为0,则此人未注册该课程。2) 45没有上限——例如,如果有45人注册,第46人也可以注册。再次,在我上次的回复中,我表示,我只是在尝试了你的解决方案后才更改了这两件事,而你的解决方案给出了相同的结果。另外,如果您查看insert语句到培训表中,座位容量为45。因此,每次用户注册时,数量都会减少。因此,每次有人注册时,45将继续减少,直到它为0。这意味着没有更多的座位了,现在进入等待名单。因此,我将CourseSize视为培训表上的当前编号。只要这个数字不是0,用户就可以注册。这就是插入代码的逻辑。
insert into TableA (ColA, ColB) 
select 'a', 'b' from TableB 
 where 0 = (select count(*) 
              from TableB 
             where ColC = 'c')