2012-06-22 79 views
2

我的公司使用SQL Server Compact來存儲和管理本地數據庫,我需要從數據庫表中獲取主鍵信息。如何從SQL Server Compact獲取PK信息

我以前使用OleDbConnection.GetSchema()來從Access數據庫中使用Jet和OLE驅動程序獲取這些信息。但是看起來SqlCeConnection.GetSchema()會拋出一個NotImplementedException(或者說它會返回DBConnection.GetSchema(),它會引發相同的異常)。

我不需要通常由GetSchema()返回的所有信息,只是PK的名字。是否有一種很好的方法來查找SQL Server Compact數據庫中的表的主鍵?

NOTE:上述方法引用不是靜態函數調用。考慮將類名稱作爲該類型的對象引用。

+1

GetSchema適用於SQL Compact 4.0! – ErikEJ

+0

@ErikEJ:謝謝,我將來可能需要這些。當我有機會時我會升級。 – MrWuf

回答

6
SELECT INDEX_NAME, COLUMN_NAME 
    FROM INFORMATION_SCHEMA.INDEXES 
    WHERE PRIMARY_KEY = 1 
    AND TABLE_NAME = 'MyTable'; 
+0

我認爲視圖名稱是不同的,但這是如何完成:) – leppie

+0

@leppie我懷疑是這樣,但似乎無法在MSDN上的架構上找到任何文檔。當我找到它時會更新。 –

+2

雖然在視圖下可以看到SSMS :)我在過去的項目中使用過它。 – leppie

相關問題