vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
ich dreh durch - BeginTrans,...... 
Autor: Seebi
Datum: 06.03.03 16:32

hallo allerseits,
ich hab da ein mords Problem mit meiner Transaktion. Ich verstehs glaub ich einfach nicht. Ich möchte in 3 verschiedene Tabellen Werte eintragen. Mit den SELECT Anweisungen hole ich mir die nächsten freien Zeilen in der DB. Das funktioniert mittlerweile. Jetzt möchte ich die ermittelten Werte natürlich auch in die DB schreiben. Aber da fängt mein Prog an zu meckern. Entweder ist "rs_SQL_3.Close" nicht auf ein geschlossenes Objekt anwendbar, oder aberwenn ich .Close weglasse dann meckert es beim öffnen des "rs_SQL_4" das ich mit meinem Cursortype keine mehrfachen Recordsets öffnen kann.??? Kann mir jemand einen schups oder einen Sprung geben???
danke schonmal.
Seebi.

Sub import_Auswahl(Kontakt As ContactItem)
 
    Dim SQLStatement1 As String
    Dim SQLStatement2 As String
    Dim SQLStatement3 As String
    Dim SQLStatement4 As String
    Dim SQLStatement5 As String
    Dim new_pa_id As Integer
    Dim new_adb_id As Integer
    Dim objConnectionDB As ADODB.Connection
    Dim rs_pa_id As ADODB.Recordset
    Dim rs_adb_id As ADODB.Recordset
    Dim rs_SQL_3 As ADODB.Recordset
    Dim rs_SQL_4 As ADODB.Recordset
    Dim rs_SQL_5 As ADODB.Recordset
 
        Set objConnectionDB = CreateObject("ADODB.Connection")
        objConnectionDB.Open frmExchangeOLWizard.p_sDSN
 
        'On Error GoTo Rollback
 
            objConnectionDB.BeginTrans
 
                SQLStatement1 = "SELECT MAX(pa_id) + 1 FROM tm_partei "
                Set rs_pa_id = New ADODB.Recordset
                rs_pa_id.Open SQLStatement1, objConnectionDB
                new_pa_id = rs_pa_id.Fields(0)
                rs_pa_id.Close
 
                SQLStatement2 = "SELECT MAX(adb_id) + 1 FROM tm_adress_basis "
                Set rs_adb_id = New ADODB.Recordset
                rs_adb_id.Open SQLStatement2, objConnectionDB
                new_adb_id = rs_adb_id.Fields(0)
                rs_adb_id.Close
 
                SQLStatement3 = "INSERT INTO " + ("tm_partei") + _
                                              " (pa_id, pa_pers_vorname," & _
                                              "pa_pers_name)" + _
                                              " VALUES('" + CStr(new_pa_id) + _
                                              "','" + Kontakt.FirstName + "'," & _
                                              "'" + Kontakt.LastName + "')"
                Set rs_SQL_3 = New ADODB.Recordset
                rs_SQL_3.Open SQLStatement3, objConnectionDB
                rs_SQL_3.Close
 
                SQLStatement4 = "INSERT INTO " + ("tm_adress_basis") + _
                                              " (adb_id, pa_id, adt_id," & _
                                              "adb_strasse, adb_plz_str," & _
                                              "adb_ort, adb_tel1, adb_fax," & _
                                              "adb_email)" + _
                                              " VALUES('" + CStr(new_adb_id) + _
                                              "', '" + CStr(new_pa_id) + "','" _
                                              + CStr(1) + "','" + _
                                              Kontakt.HomeAddressStreet + "','" _
                                              + Kontakt.HomeAddressPostalCode + _
                                              "','" + Kontakt.HomeAddressCity + _
                                              "'," + _
                                              "'" + Kontakt.HomeTelephoneNumber _
                                              + "','" + Kontakt.HomeFaxNumber + _
                                              "','" + Kontakt.Email1Address + _
                                              "')"
                Set rs_SQL_4 = New ADODB.Recordset
                rs_SQL_4.Open SQLStatement3, objConnectionDB
                rs_SQL_4.Close
 
                SQLStatement5 = "INSERT INTO " + ("tx_partei_relation") + _
                                              " (pa_id_from, pa_id_to," & _
                                              "reltyp_id)" + _
                                              " VALUES('" + CStr(new_pa_id) + _
                                              "','" + CStr(2) + "','" + CStr(3) _
                                              + "')"
                Set rs_SQL_5 = New ADODB.Recordset
                rs_SQL_5.Open SQLStatement3, objConnectionDB
                rs_SQL_5.Close
 
 
            objConnectionDB.CommitTrans
 
 
 
Rollback:
        objConnectionDB.RollbackTrans
 
End Sub
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
ich dreh durch - BeginTrans,......648Seebi06.03.03 16:32
Re: ich dreh durch - BeginTrans,......492Heiko06.03.03 16:41
Re: ich dreh durch - BeginTrans,......756Seebi06.03.03 16:53
Re: ich dreh durch - BeginTrans,......486shaddl06.03.03 17:01
Re: ich dreh durch - BeginTrans,......476Seebi06.03.03 17:18
Re: ich dreh durch - BeginTrans,......496shaddl06.03.03 17:29
Re: ich dreh durch - BeginTrans,......483e-dirk06.03.03 18:20
Eigentlich wollte ich mich ja heraushalten, aber:437unbekannt06.03.03 18:26
Merci435Seebi07.03.03 09:40
Re: Merci470Supernova07.03.03 10:26

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel