2017-06-16 125 views
-1

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

回答

1

您可以执行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() 
+0

是否需要在打开连接之前声明计数 – Niloy

+0

否您也可以在打开连接后声明它。 –

+0

好的非常感谢。它的工作完美 – Niloy

4

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

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

谢谢Arion。将尝试一下。上面的函数为空表返回0? – Niloy

+0

@Niloy:不,如果表格为空,则返回1 – Arion

+0

@Fred:否。因为存在还原条件。所以基本上如果它没有行:1 else 0 – Arion

0

或者

SELECT TOP(1) 1 FROM MyTable 

,并在您的VB代码检查的行数返回(0行=表是空的)