정보: Jet OLE DB 공급자 버전 4.0 Supports @@ Identity SELECT

기술 자료 번역 기술 자료 번역
기술 자료: 232144 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

요약

Jet OLE DB 버전 4.0 공급자 연결에 대해 생성된 자동 증가 필드의 값을 검색할 수 있도록 SELECT @@ Identity 쿼리를 지원합니다. 데이터베이스의 다른 연결에 사용되는 자동 증가 값을 이 특수화된 쿼리 결과를 영향을 주지 않습니다. 이 기능은 이전 버전의 형식 있지만 Jet 4.0 데이터베이스를 사용할 수 있습니다.

추가 정보

다음 코드는 SELECT @@ ID를 새로 삽입한 자동 증가 필드에 값을 검색하는 방법을 보여 줍니다. 또한 코드 조각의 쿼리에 대해 테이블을 만들려면 코드가 포함되어 있습니다.
Dim cnDatabase As ADODB.Connection
Dim rsNewAutoIncrement As ADODB.Recordset
Dim strConn As String
Dim strSQL As String
Dim 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.Close
Set cnDatabase = Nothing
				
이 새로 추가된 기능을 감사드립니다 클라이언트 쪽 ADO (ActiveX 데이터 개체) 레코드 집합에서 ADO 2.1 이상에서 에 새로 추가된 자동 증가 값을 볼 수 있습니다. Update 또는 UpdateBatch (선택한 LockType 중 따라) 호출하여 새 행을 Jet 공급자 제출할 때 ADO 커서 엔진이 테이블에 새 행을 만드는 INSERT INTO 쿼리를 생성합니다. 또한 ADO 레코드 자동 증가 필드에 있으면 해당 자동 증가 필드에 대해 생성된 값을 검색하는 SELECT @@ Identity 쿼리를 생성합니다. 이 기능을 보여 주는 코드입니다:
Dim cnDatabase As ADODB.Connection
Dim rsNewAutoIncrement As ADODB.Recordset
Dim strConn As String
Dim strSQL As String
Dim 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.Close
Set cnDatabase = Nothing
				
Microsoft Access 2000 사용하거나 MDAC 2.1 포함된 ADOX 라이브러리를 사용하여 새 Jet 4.0 데이터베이스를 만들 수 있습니다. 이 라이브러리는 Visual Basic 프로젝트에서 사용하려면 Microsoft ADO Ext. 2.1 DDL 및 보안에 대한 참조를 만듭니다. 다음과 같은 코드를 새 Jet 4.0 데이터베이스 만들기 사용:
Dim strPathToMDB As String
Dim 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
				
Microsoft Access 데이터베이스 형식을 확인하려면 Connection 개체의 Properties 컬렉션에 동적 Jet OLEDB:Engine 형식 속성을 확인하십시오. 값 5 Jet 4.x 데이터베이스의 속성을 반환합니다. 다음 코드 조각은 속성을 사용하는 방법을 보여 줍니다.
Dim cnDatabase As ADODB.Connection
Dim strConn As String
Dim 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.Close
Set cnDatabase = Nothing
				

참조

Microsoft 데이터 액세스 SDK; 검색: "Provider-Defined 속성"; 항목: "DBPROPSET_JETOLEDB_DBINIT"

속성

기술 자료: 232144 - 마지막 검토: 2003년 12월 3일 수요일 - 수정: 3.1
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft OLE DB Provider for Jet 4.0
  • Microsoft Data Access Components 2.1 서비스 팩 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 서비스 팩 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 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com