vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

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

ADO.NET / Datenbanken
SQLight Anfängerproblem 
Autor: Bazi
Datum: 30.01.12 21:13

Hallo,

beim Umgang mit der SQLight Datenbank bin ich auf Schwierigkeiten gestoßen, die ich durch die Sufu und die Hilfe nicht lösen konnte.
Sicherlich Anfängerprobleme.
Sagt mit doch bitte was ich falsch mache.

Ich habe in mein Programm eine SQLight Datenbank eingebunden.
Den Pfad zur DB habe ich in einer globalen Variablen.

Über einen Menüpunkt lese ich die DB in verschiedene (globale) DataTables.
Ich habe kein DataSet verwendet, da ich beim Speichern nicht alle Daten zurückschreiben möchte.
    Sub sql_LV_einlesen()
        'liest eine SQLight Datenbank in die entsprechenden DataTables.
        'Wird aufgerufen von:
        ' - d86_NeuDB_Einlesen()
        ' - sql_LV_Oeffnen()
        Dim myConnection As New SQLiteConnection("Data Source=" & SQLDB & _
          ";Version=3")
        Dim myCommand As New SQLiteCommand
        'SQLight DB auslesen mit dem DataTable
        If Not oDT Is Nothing Then
            oDT.Clear() 'DataTable löschen
        End If
        myConnection.Open() 'Connection öffnen
        myCommand = New SQLiteCommand("SELECT * FROM Optionen", myConnection) _
          'Command festlegen
        myAdapter_o.SelectCommand = myCommand 'Command an Adapter übergeben
        myAdapter_o.Fill(oDT) 'DataTable füllen
        'verwendete Resourcen wieder freigeben
        myConnection.Dispose()
        'Datenbankverbindung beenden
        myConnection.Close()
 
    End Sub
Im oDT habe ich verschiedene Einstellungen (Optionen) eingetragen. Diese rufe ich beim öffnen eines Formulares wie folgt auf:
Private Sub LV_Einstellungen_Load(ByVal sender As System.Object, ByVal e As _
  System.EventArgs) Handles MyBase.Load
        If SQLDB <> "" Then
            For i As Long = 0 To oDT.Rows.Count - 1
                Select Case oDT.Rows(i).Item(0)
                    Case Is = "LVInf"
                        TextBox1.Text = oDT.Rows(i).Item(1).ToString    ' 
                        ' LV-Information
                    Case Is = "PjInf"
                        TextBox2.Text = oDT.Rows(i).Item(1).ToString    ' 
                        ' Projektinformation
                    Case Is = "AG"
                        TextBox3.Text = oDT.Rows(i).Item(1).ToString    ' 
                        ' Auftraggeber
                    Case Is = "AN"
                        TextBox4.Text = oDT.Rows(i).Item(1).ToString    ' Bieter
 
                    Case Is = "REBBeg"
                        TextBox6.Text = oDT.Rows(i).Item(1).ToString    ' Blatt
                    Case Is = "REBSchritt"
                        TextBox7.Text = oDT.Rows(i).Item(1).ToString    ' 
                        ' Schrittweite
                End Select
            Next
        End If
 
    End Sub
Die Textboxen sind jetzt richtig gefüllt.
Nach dem ändern der Textboxen möchte ich mittels eines Speichern-Buttons die Werte aus den Textboxen zurückschreiben in die DT und die Datenbank.
        If SQLDB <> "" Then
            Try
 
                Dim myAdapter As New SQLite.SQLiteDataAdapter("SELECT * FROM" & _
                  "Optionen", _
                SQLDB)
                Dim cb As New SQLite.SQLiteCommandBuilder(myAdapter)
                Dim o_BindingSource As New BindingSource
                o_BindingSource.DataSource = oDT
                Dim Test As String = oDT.Rows(4).Item(1).ToString
                oDT.Rows(1).Item(1) = TextBox1.Text.ToString    ' LV-Information
                oDT.Rows(2).Item(1) = TextBox2.Text.ToString    ' 
                ' Projektinformation
                oDT.Rows(3).Item(1) = TextBox3.Text.ToString    ' Auftraggeber
                oDT.Rows(4).Item(1) = TextBox4.Text.ToString    ' Bieter
                oDT.Rows(7).Item(1) = TextBox6.Text.ToString    ' Blatt
                oDT.Rows(8).Item(1) = TextBox7.Text.ToString    ' Schrittweite
                oDT.AcceptChanges()
                o_BindingSource.EndEdit()
                myAdapter.Update(oDT)
                MsgBox("DB atuell")
            Catch ex As Exception
                MsgBox(ex.ToString())
                Stop
            End Try
        End If
        Me.Close()
    End Sub
Die DT hält nun zwar die richtigen Daten, aber die DB wird nicht aktualieiert.
Es kommt auch keine Fehlermeldung.

Wo liegt mein Fehler?

Danke für die Hilfe

Gruß Christian

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
SQLight Anfängerproblem1.632Bazi30.01.12 21:13
Re: SQLight Anfängerproblem974ModeratorFZelle30.01.12 22:31
Re: SQLight Anfängerproblem961Bazi31.01.12 20:58
Re: SQLight Anfängerproblem903Manfred X31.01.12 21:10
Re: SQLight Anfängerproblem1.012Bazi31.01.12 21:39
Re: SQLight Anfängerproblem912ModeratorFZelle31.01.12 23:14
Re: SQLight Anfängerproblem837Bazi01.02.12 20:14
Re: SQLight Anfängerproblem1.032ModeratorFZelle01.02.12 22:30
Re: SQLight Anfängerproblem875Bazi02.02.12 12:50
Re: SQLight Anfängerproblem881ModeratorFZelle02.02.12 14:57
Re: SQLight Anfängerproblem906Manfred X02.02.12 15:33
Re: SQLight Anfängerproblem863Bazi02.02.12 20:02
Re: SQLight Anfängerproblem882Bazi02.02.12 20:11
Re: SQLight Anfängerproblem953Bazi06.02.12 20:33
Re: SQLight Anfängerproblem929Bazi10.02.12 14:25

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-2024 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