我有一個數據庫user.sdf
在asp.net中,我想創建表我需要檢查它檢查它首先存在不是如果存在然後不需要創建表格,否則創建新表格我該如何檢查它,請幫我解決這個問題。我如何檢查表是否存在SQL Server CE 3.5
2
A
回答
9
您可以在SQL CE 3.5中查詢模式視圖,看看here。
下面是一個可以使用的簡單擴展方法。
public static class SqlCeExtentions
{
public static bool TableExists(this SqlCeConnection connection, string tableName)
{
if (tableName == null) throw new ArgumentNullException("tableName");
if (string.IsNullOrWhiteSpace(tableName)) throw new ArgumentException("Invalid table name");
if (connection == null) throw new ArgumentNullException("connection");
if (connection.State != ConnectionState.Open)
{
throw new InvalidOperationException("TableExists requires an open and available Connection. The connection's current state is " + connection.State);
}
using (SqlCeCommand command = connection.CreateCommand())
{
command.CommandType = CommandType.Text;
command.CommandText = "SELECT 1 FROM Information_Schema.Tables WHERE TABLE_NAME = @tableName";
command.Parameters.AddWithValue("tableName", tableName);
object result = command.ExecuteScalar();
return result != null;
}
}
}
如下
using (SqlCeConnection connection = new SqlCeConnection(@"Data Source=MyDatabase1.sdf"))
{
connection.Open();
if (connection.TableExists("MyTable"))
{
// The table exists
}
else
{
// The table does not exist
}
}
0
正如你可以查詢表,趕上拋出的異常的替代,您可以使用上面。 如果有例外,表未找到,否則表存在。
SELECT TOP 1 1 FROM TableName;
有點簡單的性能測試比查詢對INFORMATION_SCHEMA有更好的結果。儘管我會將對INFORMATION_SCHEMA的查詢視爲更清晰。
相關問題
- 1. Microsoft SQL Server CE檢查表是否存在
- 2. 如何檢查Windows CE上是否安裝了SQL Server CE
- 3. 檢查是否存在表的SQL Server
- 4. 如何檢查是否值在SQL Server CE數據庫
- 5. 如何檢查SQL Server是否安裝在wix 3.5
- 6. 如何檢查SQL Server中是否存在表的列表?
- 7. 如何查看SQL Server CE 3.5數據庫表值?
- 8. SQL Server CE 3.5 SP1存儲過程
- 9. 確定SQL Server CE中是否存在表?
- 10. VS2012,SQL Server CE 3.5與Edmx
- 11. Windows CE 6.0 SQL Server Compact 3.5
- 12. SQL Server CE 3.5兼容性
- 13. SQL Server CE 3.5到SQL Server遷移
- 14. 如何檢查列在SQL Server CE不存在
- 15. Azure/Powershell:檢查SQL Server是否存在
- 16. InstallShield如何檢查是否安裝了SQL Server 2005(3.1)精簡版(CE)
- 17. 我是否需要安裝Sql Server CE?
- 18. 檢查SQL表中是否存在值
- 19. 在SQL Server CE 3.5中創建視圖
- 20. 檢查SQL表是否存在
- 21. 如何檢查SQL Server中是否正在查詢表
- 22. 如何爲EF 4和SQL Server CE 3.5分頁查詢結果
- 23. SQL CE 3.5&EntityFramework
- 24. 如何檢測是否安裝了SQL Server CE 4.0
- 25. 如何檢查SQL Server表是否是系統表
- 26. Openquery SQL如何檢查是否存在?
- 27. 如何檢查使用vb.net和SQL Server是否存在記錄
- 28. 如何檢查SQL Server約束是否存在?
- 29. 如何檢查SQL Server中是否存在列?
- 30. 如何檢查sql server中是否存在登錄?
你有什麼嘗試過 - 你看過任何文檔,並嘗試過一些例子嗎?請發佈現在正在運行的代碼或者您有問題的代碼。看[問] – Hogan 2011-06-11 14:07:46