Teď jste offline a čekáte, až se znova připojí internet.

INFORMACE: Zprostředkovatele Jet OLE DB verze 4.0 podporuje SELECT @@ identity

Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.

Projděte si také anglickou verzi článku:232144
Souhrn
Zprostředkovatele Jet OLE DB verze 4.0 podporuje SELECT @@ identity dotaz, který umožňuje načíst hodnotu pole Automatické přírůstek generovány připojení. Automatický přírůstek hodnoty použít jiné připojení k databázi neovlivní výsledky tohoto dotazu specializované. Tato funkce funguje s databáze Jet 4.0, ale není s starší formáty.
Další informace
Následující kód ukázáno použití SELECT @@ identity načíst hodnotu pole nově vložených automatickým přírůstkem. Fragment kódu zahrnuje také kód vytvořit tabulku pro dotaz.
Dim cnDatabase As ADODB.ConnectionDim rsNewAutoIncrement As ADODB.RecordsetDim strConn As StringDim strSQL As StringDim strPathToMDB As String   strPathToMDB = "C:\NewJet4.MDB"strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _           "Data Source=" & strPathToMDB & ";"Set cnDatabase = New ADODB.Connection    cnDatabase.Open strConn        strSQL = "CREATE TABLE AutoIncrementTest " & _             "(ID int identity, Description varchar(40), " & _             "CONSTRAINT AutoIncrementTest_PrimaryKey PRIMARY KEY (ID))"    cnDatabase.Execute strSQL, , adCmdText + adExecuteNoRecords        strSQL = "INSERT INTO AutoIncrementTest " & _             "(Description) VALUES ('AutoIncrement Test')"    cnDatabase.Execute strSQL, , adCmdText + adExecuteNoRecords        strSQL = "SELECT @@Identity"    Set rsNewAutoIncrement = New ADODB.Recordset    rsNewAutoIncrement.Open strSQL, cnDatabase, adOpenForwardOnly, _                            adLockReadOnly, adCmdText    MsgBox "New Auto-increment value is: " & rsNewAutoIncrement(0).Value    rsNewAutoIncrement.Close    Set rsNewAutoIncrement = Nothing    strSQL = "DROP TABLE AutoIncrementTest"    cnDatabase.Execute strSQL, , adCmdText + adExecuteNoRecords    cnDatabase.CloseSet cnDatabase = Nothing				
Díky k nově přidané funkce, viz hodnoty nově přidané automatickým přírůstkem ve vaší sady záznamů ActiveX Data Objects (ADO) klienta v ADO 2.1 a novější. Při odeslání nového řádku k zprostředkovatele Jet voláním Update nebo UpdateBatch (v závislosti na vašem výběru LockType) generuje stroj kurzor ADO dotaz INSERT INTO vytvořit nový řádek v tabulce. Pokud sadu záznamů obsahuje pole Automatický přírůstek, ADO také generovat SELECT @@ identity dotaz k načtení hodnota generovaná pro dané pole s automatickým přírůstkem. Tuto funkci demonstruje následující kód:
Dim cnDatabase As ADODB.ConnectionDim rsNewAutoIncrement As ADODB.RecordsetDim strConn As StringDim strSQL As StringDim strPathToMDB As String    strPathToMDB = "C:\NewJet4.MDB"strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _          "Data Source=" & strPathToMDB & ";"    Set cnDatabase = New ADODB.Connection    cnDatabase.Open strConn        strSQL = "CREATE TABLE AutoIncrementTest " & _             "(ID int identity, Description varchar(40), " & _             "CONSTRAINT AutoIncrementTest_PrimaryKey PRIMARY KEY (ID))"    cnDatabase.Execute strSQL, , adCmdText + adExecuteNoRecords    strSQL = "SELECT ID, Description FROM AutoIncrementTest"    Set rsNewAutoIncrement = New ADODB.Recordset    rsNewAutoIncrement.CursorLocation = adUseClient    rsNewAutoIncrement.Open strSQL, cnDatabase, adOpenStatic, _                            adLockOptimistic, adCmdText    rsNewAutoIncrement.AddNew    rsNewAutoIncrement("Description").Value = "AutoIncrement Test"    rsNewAutoIncrement.Update    MsgBox "New Auto-increment value is: " & rsNewAutoIncrement(0).Value    rsNewAutoIncrement.Close    Set rsNewAutoIncrement = Nothing    strSQL = "DROP TABLE AutoIncrementTest"    cnDatabase.Execute strSQL, , adCmdText + adExecuteNoRecords    cnDatabase.CloseSet cnDatabase = Nothing				
lze vytvořit nové databáze Jet 4.0 pomocí aplikace Access 2000 nebo pomocí knihovny ADOX, která je součástí MDAC 2.1. Použití této knihovny v projektu jazyka vytvořit odkaz Microsoft ADO Ext. 2.1 for DDL and Security. Potom můžete použít následující kód k vytvoření nové databáze Jet 4.0:
Dim strPathToMDB As StringDim catNewDatabase As ADOX.Catalog        strPathToMDB = "C:\NewJet4.MDB"    If Dir(strPathToMDB) <> "" Then        Kill strPathToMDB    End If    strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _              "Data Source=" & strPathToMDB & ";"    Set catNewDatabase = New ADOX.Catalog    catNewDatabase.Create strConn    Set catNewDatabase = Nothing				
Chcete-li zjistit formát databáze Microsoft Access zkontrolujte dynamické vlastnost "Typ Jet OLEDB:Engine" v kolekci vlastnosti objektu Connection. Vlastnost vrátí hodnotu 5 databáze Jet 4.x. Pomocí vlastnosti demonstruje následující fragment kódu:
Dim cnDatabase As ADODB.ConnectionDim strConn As StringDim strPathToMDB As String    strPathToMDB = "C:\NewJet4.MDB"strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _          "Data Source=" & strPathToMDB & ";"Set cnDatabase = New ADODB.Connection    cnDatabase.Open strConn    If cnDatabase.Properties("Jet OLEDB:Engine Type").Value = 5 Then        MsgBox "Jet 4.0 database"    Else        MsgBox "Not a Jet 4.0 database"    End If    cnDatabase.CloseSet cnDatabase = Nothing				
Odkazy
Microsoft Data Access SDK; hledání na: "Provider-Defined vlastnosti"; téma: "DBPROPSET_JETOLEDB_DBINIT"
AutoIncrement ADOX Jet Identity

Upozornění: Tento článek je přeložený automaticky

Vlastnosti

ID článku: 232144 - Poslední kontrola: 12/03/2003 18:25:00 - Revize: 3.1

Microsoft OLE DB Provider for Jet 4.0, Microsoft Data Access Components 2.1 Service Pack 2, Microsoft Data Access Components 2.5, Microsoft Data Access Components 2.6, Microsoft Data Access Components 2.7, Microsoft ActiveX Data Objects 2.1 Service Pack 2, Microsoft ActiveX Data Objects 2.5, Microsoft ActiveX Data Objects 2.6, Microsoft ActiveX Data Objects 2.7, Microsoft Visual Basic 5.0 Professional Edition, Microsoft Visual Basic 6.0 Professional Edition, Microsoft Visual Basic 5.0 Enterprise Edition, Microsoft Visual Basic Enterprise Edition for Windows 6.0

  • kbmt kbdatabase kbinfo kbjet KB232144 KbMtcs
Váš názor
mg style="display: none; " src="https://c1.microsoft.com/c.gif?DI=4050&did=1&t=">