JetSetColumnDefaultValue 函式
適用于: Windows |Windows Server
JetSetColumnDefaultValue 函式
JetSetColumnDefaultValue函式可用來變更現有資料行的預設值。
JET_ERR JET_API JetSetColumnDefaultValue(
__in JET_SESID sesid,
__in JET_DBID dbid,
__in JET_PCSTR szTableName,
__in JET_PCSTR szColumnName,
__in const void* pvData,
__in const unsigned long cbData,
__in const JET_GRBIT grbit
);
參數
sesid
要用於這個呼叫的會話。
dbid
要用於這個呼叫的資料庫。
szTableName
包含受影響資料行的資料表名稱。
szColumnName
將變更其預設值的資料行名稱。
pvData
包含新預設值的輸入緩衝區。
cbData
包含新預設值的輸入緩衝區大小。
grbit
保留供未來使用。
傳回值
此函式會傳回具有下列其中一個傳回碼 的 JET_ERR 資料類型。 如需可能 ESE 錯誤的詳細資訊,請參閱 可延伸儲存引擎錯誤 和 錯誤處理參數。
傳回碼 |
描述 |
---|---|
JET_errSuccess |
作業已成功完成。 |
JET_errClientRequestToStopJetService |
無法完成作業,因為與會話相關聯之實例上的所有活動因 JetStopService呼叫而停止。 |
JET_errColumnIllegalNull |
與JET_errNullInvalid相同。 |
JET_errColumnInUse |
這個指定的資料行目前正由索引使用。 JetSetColumnDefaultValue 無法變更索引定義中所參考之資料行的預設值。 這是因為這樣做可能會變更索引的內容。 |
JET_errColumnNotFound |
這個指定的資料行不存在於這個資料表中。 |
JET_errInstanceUnavailable |
無法完成作業,因為與會話相關聯的實例發生嚴重錯誤,需要撤銷所有資料的存取權,以保護該資料的完整性。 此錯誤只會由 Windows XP 和更新版本傳回。 |
JET_errInvalidDatabaseId |
指定的資料庫識別碼無效。 |
JET_errInvalidName |
其中一個指定的物件名稱無效。 所有物件名稱都必須符合相同的規則集。 這些規則如下:
|
JET_errNotInitialized |
無法完成作業,因為與會話相關聯的實例尚未初始化。 |
JET_errNullInvalid |
資料行無法設定為 Null。 當下列情況時 ,JetSetColumnDefaultValue 就會發生此情況:
因此,無法將資料行的預設值 (回到 Null 或零長度值) 。 |
JET_errObjectNotFound |
這個指定的資料表不存在於這個資料庫。 |
JET_errRestoreInProgress |
無法完成作業,因為與會話相關聯的實例上正在進行還原作業。 |
JET_errSessionSharingViolation |
同一個會話不能同時用於一個以上的執行緒。 此錯誤只會由 Windows XP 和更新版本傳回。 |
JET_errTableInUse |
這個指定的資料表正由另一個會話使用。 JetSetColumnDefaultValue 需要資料表的獨佔存取權,才能變更 Windows Server 2003 之前版本的資料行預設值。 |
JET_errTermInProgress |
無法完成作業,因為與會話相關聯的實例正在關閉。 |
JET_errTransReadOnly |
在唯讀交易的範圍內嘗試更新不合法。 唯讀交易是一項交易,其已使用 對 JetBeginTransaction2 的呼叫搭配 JET_bitTransactionReadOnly 來啟動。 此錯誤只會由 Windows XP 和更新版本傳回。 |
JET_errWriteConflict |
另一個會話先前已鎖定記錄以進行更新。 此會話嘗試的更新將會失敗。 |
成功時,指定資料庫中指定資料表中指定資料行的預設值會永久變更為新的預設值。
失敗時,不會變更資料庫狀態。
備註
您無法變更範本資料表中資料行的預設值。
資料庫引擎會以無訊息方式將資料行的預設值截斷為長文字和長二進位資料行的 255 位元組。
規格需求
需求 | 值 |
---|---|
用戶端 |
需要 Windows Vista、Windows XP 或 Windows 2000 Professional。 |
Server |
需要 Windows Server 2008、Windows Server 2003 或 Windows 2000 Server。 |
標頭 |
在 Esent.h 中宣告。 |
程式庫 |
使用 ESENT.lib。 |
Dll |
需要ESENT.dll。 |
Unicode |
實作為 JetSetColumnDefaultValueW (Unicode) 和 JetSetColumnDefaultValueA (ANSI) 。 |
另請參閱
JET_DBID
JET_ERR
JET_GRBIT
JET_SESID
JetBeginTransaction2
JetStopService