tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
14
ZUGRIFFE
4955
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    daPanic daPanic ist offline Rookie
    Registriert seit
    Apr 2005
    Beiträge
    8
    Tachchen.

    Ich bin noch etwas neu auf dem Gebiet, aber ich habe schon einige Vorerfahrungen mit VB5.
    Der Umsteig nach VB.NET ist etwas schwieriger als gedacht. Ich habe mir nun ein kleines Porjekt entwickelt, das ich nun irgendwie vervollständigen möchte. Dazu fehlen mir jedoch noch einige Grundstrukturen.

    Ist hier vielleicht jemand, der mir abseits des Forums einige Hilfe geben kann.

    Möglichkeiten wären Skype oder ICQ oder sowas.

    Skype wäre optimal!

    mein Nick da genau wie hier.
    Geändert von daPanic (30.06.05 um 13:51 Uhr)
     

  2. #2
    Julian Maicher Julian Maicher ist offline Mitglied Smaragd
    Registriert seit
    Jan 2004
    Ort
    Paderborn
    Beiträge
    1.210
    Frag doch einfach hier, oder sag wenigstens worum es genau geht.
     

  3. #3
    daPanic daPanic ist offline Rookie
    Registriert seit
    Apr 2005
    Beiträge
    8
    Also in diesem Moment geht es darum, das ich die Daten in eine Access Datenbank schreiben will, die ich vorher aus einer HTML Datei gesammelt habe.
    Geht auch alles, nur die Verbindung mit der Datenbank und das einfügen klappt nicht.
    Ich finde zwar viele Freddys, die mir zeigen, wie ich daraus lesen kann, aber nicht wie schreiben, lustiger weise.
    Und daher hänge ich atm an diesem Problem.
    Und alles weitere wird sich dann wohl eher nach einiger Zeit ergeben, wenn ich an meine Grenzen stoße, wie jetzt bei Access! =
     

  4. #4
    Julian Maicher Julian Maicher ist offline Mitglied Smaragd
    Registriert seit
    Jan 2004
    Ort
    Paderborn
    Beiträge
    1.210
    Der Unterschied zwischen schreiben und lesen ist minimal. Im Prinzip brauchst du ja fast nur das SQL-Statement zu ändern.
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
    Public Sub InsertMyData(myConnString As String)
        Dim mySelectQuery As String = "INSERT INTO table(a,b,c) VALUES('a','b','c')"
        Dim myConnection As New OdbcConnection(myConnString)
        Dim myCommand As New OdbcCommand(mySelectQuery, myConnection)
        Try
            myConnection.Open()
            myCommand.ExecuteNonQuery()
        Finally
            myConnection.Close()
        End Try
    End Sub
    That`s it!
     

  5. #5
    daPanic daPanic ist offline Rookie
    Registriert seit
    Apr 2005
    Beiträge
    8
    Schonmal danke, mal sehen wie ich da durchsteige.
     

  6. #6
    Julian Maicher Julian Maicher ist offline Mitglied Smaragd
    Registriert seit
    Jan 2004
    Ort
    Paderborn
    Beiträge
    1.210
    Einziger Unterschied sollte die ExecuteNonQuery Methode des ODBC-Commands sein. Damit schickt man SQL-Statements ohne Rückgabewerte (also hauptsächlich DELETE und INSERT) an die Datenbank.
     

  7. #7
    daPanic daPanic ist offline Rookie
    Registriert seit
    Apr 2005
    Beiträge
    8
    Wie initialisiere ich denn ODBC, weil bei mir ist OdbcConnection nicht definiert.
     

  8. #8
    Julian Maicher Julian Maicher ist offline Mitglied Smaragd
    Registriert seit
    Jan 2004
    Ort
    Paderborn
    Beiträge
    1.210
    Sämtliche ODBC-Objekte findest du im Namespace System.Data.Odbc.
     

  9. #9
    daPanic daPanic ist offline Rookie
    Registriert seit
    Apr 2005
    Beiträge
    8
    Hat sich schonmal alles recht gut angehört. Hab versucht es auf meine Bedürfnisse anzupasssen.

    Eine nicht behandelte Ausnahme des Typs 'System.ArgumentException' ist in system.data.dll aufgetreten.

    Zusätzliche Informationen: Das Format der Initialisierungszeichenfolge stimmt nicht mit der Spezifikation überein, die bei Index '0' beginnt.

    War das Produkt. Schade!
     

  10. #10
    Julian Maicher Julian Maicher ist offline Mitglied Smaragd
    Registriert seit
    Jan 2004
    Ort
    Paderborn
    Beiträge
    1.210
    Dann poste doch mal den relevanten Code.
     

  11. #11
    daPanic daPanic ist offline Rookie
    Registriert seit
    Apr 2005
    Beiträge
    8
    Nun ja, ein bisschen wurschteln.

    Frage: Wie kann ich in deinem Code das MyCommand noch benutzen , ohne die INstanz direkt zu DIMMEN ohne INSERT_String und Connection?

    Muss leider meinen Arbeitsplatz verlassen. Ich schaue hier morgen nochmal rein!
    Geändert von daPanic (30.06.05 um 16:50 Uhr)
     

  12. #12
    Julian Maicher Julian Maicher ist offline Mitglied Smaragd
    Registriert seit
    Jan 2004
    Ort
    Paderborn
    Beiträge
    1.210
    Garnicht. Du brauchst eine aktive Datenbankconnection um einen Command ausführen zu können.
    Du kannst ja auch nicht umschalten wenn der Fernseher aus ist
    Was du aber sicherlich vergessen hast, ist einen Verweis auf die Microsoft Access Object Libary zu setzen. Findest du unter Verweise -> Verweis hinzufügen -> COM

    Folgenden Code habe ich gerade getestet und der geht auf jeden Fall:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
    Dim conStr As String = "Driver={Microsoft Access Driver (*.mdb)};Dbq=D:\test.mdb;"
    Dim query As String = "INSERT INTO test VALUES('test')"
    Dim conn As New System.Data.Odbc.OdbcConnection(conStr)
    Dim com As New System.Data.Odbc.OdbcCommand(query, conn)
     
    Try
        conn.Open()
        com.ExecuteNonQuery()
    Catch ex As Exception
        MsgBox(ex.ToString)
    Finally
        conn.Close()
    End Try
     

  13. #13
    daPanic daPanic ist offline Rookie
    Registriert seit
    Apr 2005
    Beiträge
    8
    So, ich versuche mal mein Problem jetzt zu erklären!

    1. Die Datenbankverbindung wird schon aufgebaut, das geht also


    'Mark1 Hier macht du den Verbindungstring'
    Dim conStr As String = "Driver={Microsoft Access Driver (*.mdb)};Dbq=D:\test.mdb;"

    'Mark2 Hier macht du den Command
    Dim query As String = "INSERT INTO test VALUES('test')"

    'Mark3 Hier setzt du die Connection'
    Dim conn As New System.Data.Odbc.OdbcConnection(conStr)

    'Mark4 Hier setzt du DIESEN EINEN Befehl'
    Dim com As New System.Data.Odbc.OdbcCommand(query, conn)

    'Mark5 Hier führst du das alles aus'
    Try
    conn.Open()
    com.ExecuteNonQuery()
    Catch ex As Exception
    MsgBox(ex.ToString)
    Finally
    conn.Close()
    End Try



    Bei mir sollte das dann so aussehen (ich arbeite jetzt mit meinem Marks)

    Mark1
    Mark3

    Dann conn.open()

    Dann etwas an Code, der den Command generiert

    dann
    Mark2
    Mark4
    com.ExecuteNonQuery()


    BLA BLA


    conn.close()




    Einigermassen hintergestiegen?

    Der Query, den du oben erzeugst, soll dynamisch und mehrere hundert male in meinem Code erzeugt werden, daher kann ich den da oben nicht setzten!
    Geändert von daPanic (01.07.05 um 10:21 Uhr)
     

  14. #14
    Julian Maicher Julian Maicher ist offline Mitglied Smaragd
    Registriert seit
    Jan 2004
    Ort
    Paderborn
    Beiträge
    1.210
    Ja dann erstell sie doch dynamisch. Ich hab doch keine Ahnung wie dein(e) Queries hinterher aufgebaut sein sollen. Nimm dir halt eine Schleife oder wie du auch immer diese hunderte von Queries erzeugen willst und führe für jedes Query com.ExecuteNonQuery() aus.
    Macht doch keinen Unterschied wo ich das Query definiere. Es ging in meinem Beispiel auch nur um das Prinzip und nicht um eine 1:1 Lösung für dich.
    Ein bisschen Eigenleistung ist schon nötig.
     

  15. #15
    daPanic daPanic ist offline Rookie
    Registriert seit
    Apr 2005
    Beiträge
    8
    Ich versuche ja auch das gesamte zu verstehen und nicht nur eine Lösung für mein Problem. Ich glaube du hast mein Problem noch nicht so genau verstanden. Nochmal kurz:

    In deiner Struktur deklariert du den Comand mit einem Querystring und der Connection.

    Das soll bei mir nicht der Fall sein, ich deklariere nun nur den Comand, ohne Query und String. Danach setzte ich mit .Connection die Verbindung und in der Schleife dann mit .Comand den neuen Query.

    Aber du hast mir schon sehr gut weitergeholfe, weil ich das Problem schon einigermasen gelöst habe. Ging halt nur darum, das ich den Query beim DIM des COmands noch nicht erzeugt hatte.

    Aber soweit so gut eigentlich.

    Ist schonmal eine gute Hilfe gewesen. Jetzt meckert er während des Einfügens anhand eines "Systemfehlers". Mal sehen, wie mein Rechner mir das wieder erklären will!
     

Ähnliche Themen

  1. USB - Unterstützung
    Von Kulabac im Forum Java Grundlagen
    Antworten: 0
    Letzter Beitrag: 01.09.09, 15:32
  2. Unterstützung gebraucht
    Von Precog im Forum Smalltalk
    Antworten: 0
    Letzter Beitrag: 23.04.06, 19:52
  3. Unterstützung
    Von F.o.G. im Forum PHP
    Antworten: 2
    Letzter Beitrag: 25.10.05, 07:52
  4. Unterstützung für XML-RPC per ASP
    Von ebaas im Forum ASP
    Antworten: 0
    Letzter Beitrag: 02.09.05, 09:25
  5. PHP Unterstützung
    Von Deepgreen im Forum PHP
    Antworten: 6
    Letzter Beitrag: 03.08.01, 22:58