2012-01-12 50 views

回答

2

你一定要問SQL服務器,那麼爲什麼不直接查詢「SELECT COUNT(*)FROM TABLE」? ,你可以把它放在一個存儲過程。

甚至可以parametrise與表的過程命名並運行EXEC SQL命令。

1

安裝Microsoft SQL Server Management Studio中。然後,您可以通過GUI查看的內容和你的表的結構,很容易。

1
Dim con = New SqlConnection("Data Source=servername;Initial Catalog=myDb;Integrated Security=True") 
Dim cmd = New SqlCommand("SELECT Count(*) FROM myTable", con) 
con.Open() 
Dim count As Integer = CInt(cmd.ExecuteScalar()) 
con.Close() 
+0

這個遊戲的想法太...感謝您的幫助... – 2012-01-12 23:47:47

2

我不會用SELECT COUNT(*),除非你真的關心實際的計數 - 這可能是一個昂貴的大型表格操作。如果所有你關心的是,是否有行或不行,更好的使用:

IF EXISTS (SELECT TOP (1) NULL FROM dbo.MyTable) 
BEGIN 
    PRINT 'There are rows.'; 
END 
ELSE 
BEGIN 
    PRINT 'There are no rows.'; 
END 

如果您並不需要達到到了秒,你可以使用動態管理視圖對於這種檢查。具體做法是:

SELECT SUM(row_count) 
    FROM sys.dm_db_partition_stats 
    WHERE [object_id] = OBJECT_ID('dbo.MyTable'); 

的DMV並不總是準確的,由於飛行事務和延遲更新,但通常爲大致的估計可靠。

+0

嗨..非常感謝你..這不是我需要的實際代碼,但這給了我一個主意......謝謝.. – 2012-01-12 23:47:10

相關問題