检查表是否为空

时间:2017-06-16 07:29:06

标签: sql vb.net

我正在制作一个vb.net项目。在一种形式中,我希望它的工作方式就像用户按下按钮一样,它首先检查表(使用SQL Server构建)是否为空。如果它是空的,它将打开另一个表单,否则恢复运行。如何检查表是否为空。 感谢。

4 个答案:

答案 0 :(得分:4)

如果您在sql语句之后检查表中是否有任何行。你可以做这样的事情:

SELECT
    (
       CASE WHEN NOT EXISTS(SELECT NULL FROM yourTable)
       THEN 1
       ELSE 0
       END
    ) AS isEmpty

答案 1 :(得分:2)

您可以执行SQL查询以查找所需表的行数,然后根据该计数,您可以使用If[...]Else之类的条件命令来应用逻辑:

Dim count As Int16
con.open()
query = "select count(*) from requiredTable"
cmd = New SqlCommand(query, con)
count = Convert.ToInt16(cmd.ExecuteScalar())
con.Close()

答案 2 :(得分:0)

可选地

SELECT TOP(1) 1 FROM MyTable 

并在您的vb代码中检查返回的行数(0行=表为空)

答案 3 :(得分:0)

有点晚了,但对所有人来说,都是一样的:

慢速版本:

select distinct 1 from MyTable ;
select count(*) from MyTable ;

快速版本:

select count(*) from (select 1) where exists (select * from MyTable);

也许不同的产品可能会有不同的结果