Как создать GUID Autonumber программно в MS Access - PullRequest
2 голосов
/ 26 августа 2010

Я пытаюсь создать поле autonumber guid программно, но не могу.Помоги мне, пожалуйста.я использую c #.

Ответы [ 4 ]

2 голосов
/ 26 августа 2010

Если его C #, то

string myguid = Guid.NewGuid.ToString;

Если его доступ, то

Private Declare Function CreateGuid Lib "OLE32.DLL" (pGuid As GUID) As Long
Private Declare Function StringFromGUID2 Lib "OLE32.DLL" (pGuid As GUID, ByVal PointerToString As Long, ByVal MaxLength As Long) As Long

Private Type GUID
    Guid1           As Long
    Guid2           As Integer
    Guid3           As Integer
    Guid4(0 To 7)   As Byte
End Type

Public Function CreateGUIDKey() As String
    Const GUID_OK As Long = 0    
    Const GUID_LENGTH As Long = 38

    Dim udtGUID As GUID
    Dim FormattedGUID As String
    Dim Result As Long

    Result = CreateGuid(udtGUID)

    If Result = GUID_OK Then
        FormattedGUID = String$(GUID_LENGTH, 0)
        StringFromGUID2 udtGUID, StrPtr(FormattedGUID), GUID_LENGTH + 1
    Else
        FormattedGUID = ""
    End If

    CreateGUIDKey = FormattedGUID

End Function
2 голосов
/ 26 августа 2010

Для автоматического приращения поля GUID используйте GenGUID () в качестве значения по умолчанию.

Это работает в Access с использованием ADO.Возможно, подобное утверждение будет работать в C #:

CurrentProject.Connection.Execute "CREATE TABLE hede (Id Guid DEFAULT GenGUID())"
1 голос
/ 26 августа 2010
0 голосов
/ 26 августа 2010

Знаете ли вы, как запустить sql для соединения Jet или ACE?

CREATE TABLE Literal (LinkID GUID)

INSERT INTO Literal (LinkID) VALUES ({guid {11223344-1122-1122-1122-AABBCCDDEEFF}})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...