我正在制作一个vb.net项目。在一种形式中,我希望它的工作方式就像用户按下按钮一样,它首先检查表(使用SQL Server构建)是否为空。如果它是空的,它将打开另一个表单,否则恢复运行。如何检查表是否为空。 感谢。
答案 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);
也许不同的产品可能会有不同的结果