我知道這與this question類似,但我在C#中使用SQL Server CE 3.5與WinForms項目。我怎樣才能確定一個表是否存在?我知道IF
關鍵字不受支持,但EXISTS
是。 information_schema是否存在於CE中,我可以查詢它?謝謝。確定SQL Server CE中是否存在表?
16
A
回答
34
是的,它確實存在:
SELECT *
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME = 'TableName'
+0
不會「SELECT COUNT(ID)」變得更容易,性能更高一些(如果表格很寬(很多列)或高(很多行)? – 2013-07-31 18:27:51
1
正如你可以查詢表,趕上拋出的異常的替代品。 如果有例外,表未找到,否則表存在。
SELECT TOP 1 1 FROM TableName;
有點簡單的性能測試比查詢對INFORMATION_SCHEMA有更好的結果。儘管我會將對INFORMATION_SCHEMA的查詢視爲更清晰。
0
使用數據庫助手:
var db = Database.Open("MyDatabase");
var sql = @"SELECT Count(*) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'MyTable'"
var count = db.QueryValue(sql);
if(count.Equals(1)){
//table exists
}
相關問題
- 1. 我如何檢查表是否存在SQL Server CE 3.5
- 2. 確定SQL Server表是否爲只讀
- 3. C#中不存在指定的表(SQL Server CE)
- 4. 如何確定SQL Server中是否存在數據庫角色?
- 5. 確定SQL Server中是否存在臨時表的最佳方法是什麼?
- 6. NHibernate是否SQL-Server CE上沒有從DbType存在映射AnsiStringFixedLength
- 7. 我是否需要安裝Sql Server CE?
- 8. 是否存在Microsoft SQL Server綁定?
- 9. 如何檢查Windows CE上是否安裝了SQL Server CE
- 10. SQL Server CE存在子句性能
- 11. 刪除表,如果存在於SQL Server CE中
- 12. SQL Server CE BadImageFormat
- 13. SQL Server CE ORM
- 14. Soundex SQL Server CE
- 15. SQL Server中是否存在LastIndexOf?
- 16. 如何檢查SQL Server中是否存在表的列表?
- 17. 邏輯,以檢查是否確切的ID是否存在SQL Server中的組
- 18. Oracle - 確定表是否存在
- 19. 使用SQL查詢,以確定是否一個表存在
- 20. 查詢SQL Server CE
- 21. SQL Server CE下載
- 22. 的SQL Server CE - ROW_NUMBER
- 23. 的SQL Server CE 4.0
- 24. 使用SQL Server CE的內存/性能
- 25. SQL Server CE 3.5 SP1存儲過程
- 26. 如何確定列是否在其表的主鍵中? (SQL Server)的
- 27. 檢查SQL Server表中是否存在使用functoids的記錄
- 28. 檢查一個值是否存在於多個表中SQL Server
- 29. 檢查:表中是否存在SQL Server數據庫?
- 30. Azure/Powershell:檢查SQL Server是否存在
我想我有一個漂亮的實現需要正是代碼這一點,但它不是爲我工作。我發佈了一個問題 diesbezueglich at:http://social.msdn.microsoft.com/Forums/en-US/8ee6aefa-e47b-4f0c-8735-120b8bf041ec/why-is-my-sqlserver-ce-code-failing (我試圖將它張貼在codeproject上,但它多次凍結我) – 2013-07-31 19:40:36
第三次是一種魅力:http://www.codeproject.com/Questions/629607/Why-is-my-SQLServer-CE-code-失敗 是的,我交叉發佈,但到兩個不同的論壇,所以希望這不被視爲gauche。 – 2013-07-31 19:43:32