如果我叫JetSetColumn()來代替JET_coltypLongBinary值的內容操作工程,我期望 - 價值被替換可以使用JetSetColumns替換JET_coltypLongBinary值嗎?
但是,如果我叫JetSetColumns()的值不會被替換 - 而非值保持在它的舊價值。奇怪的是其他列(不是很長)會按預期更新。沒有錯誤返回。
相同的行爲發生JET_coltypLongText - 使我不知道是否JetSetColumns()不能用於長值?
提示?
如果我叫JetSetColumn()來代替JET_coltypLongBinary值的內容操作工程,我期望 - 價值被替換可以使用JetSetColumns替換JET_coltypLongBinary值嗎?
但是,如果我叫JetSetColumns()的值不會被替換 - 而非值保持在它的舊價值。奇怪的是其他列(不是很長)會按預期更新。沒有錯誤返回。
相同的行爲發生JET_coltypLongText - 使我不知道是否JetSetColumns()不能用於長值?
提示?
您可能沒有在JET_SETCOLUMN結構中設置itagSequence。這是API的非顯而易見的'功能'。
「使用ESENT時常見的編程錯誤是在更新列值時使用itagSequence爲0默認情況下,JET_SETINFO和JET_SETCOLUMN結構是用itagSequence爲0初始化的。這適用於插入(它必須創建一個新的但在更新記錄時,默認行爲是創建列的新實例,而不是更新現有列的實例。要覆蓋現有列,必須設置itagSequence,即使該列是單值的。 「
http://managedesent.codeplex.com/wikipage?title=MultiValueTutorial
,以確保我的理解 - (?只是硬編碼本,它會工作都INSERT和UPDATE)我需要itagSequence設置爲1 – stuck
硬編碼itagSequence 1將被罰款 –