Könnt Ihr mir bitte hier noch weiterhelfen?
Beim einlesen einer Tabelle erhalte ich keine ID-Spalte im DataTable.
Mit folgender Sub erstelle ich die Tabellen in der DB:
Sub sqlite_Create_Tables()
' Diese Sub erstellt in der in der Variablen SQLDB übergebenen
' Datenbank die Tabellen.
' Die Sub wird durch SQLight_Neu aufgerufen.
Dim SQLconnect As New SQLite.SQLiteConnection()
Dim SQLcommand As SQLiteCommand
SQLconnect.ConnectionString = "Data Source=" & SQLDB & ";"
SQLconnect.Open()
SQLcommand = SQLconnect.CreateCommand
. . .
SQLcommand.CommandText = "CREATE TABLE Optionen(Inhalt TEXT, Wert1" & _
"TEXT, Wert2 TEXT, Blob BLOB);"
SQLcommand.ExecuteNonQuery()
. . .
'verwendete Resourcen wieder freigeben
SQLcommand.Dispose()
'Datenbankverbindung beenden
SQLconnect.Close()
End Sub Hiermit schreibe ich die Daten in die Tabelle:
Public Sub SQLight_Opt(ByVal SQLArr As Object)
' schreibt die Daten in die Tabelle Optionen
Dim SQLconnect As New SQLite.SQLiteConnection()
Dim SQLcommand As SQLiteCommand
On Error GoTo Fehler
SQLconnect.ConnectionString = "Data Source=" & SQLDB & ";"
SQLconnect.Open()
SQLcommand = SQLconnect.CreateCommand
For i As Long = 0 To UBound(SQLArr)
SQLcommand = New SQLiteCommand("INSERT INTO Optionen (Inhalt," & _
"Wert1) VALUES ('" & SQLArr(i, 0).ToString _
& "', '" & SQLArr(i, 1).ToString & "')", _
SQLconnect) 'Comand festlegen
SQLcommand.ExecuteNonQuery() 'Command ausführen
Next
SQLcommand.Dispose()
SQLconnect.Close()
Exit Sub
Fehler:
MsgBox(Err.Description)
SQLcommand.Dispose()
SQLconnect.Close()
End Subund lese mit:
Sub sql_LV_einlesen()
'liest eine SQLight Datenbank in ein DataSet.
'Wird aufgerufen von:
' - d86_NeuDB_Einlesen()
' - sql_LV_Oeffnen()
Dim Conn As New SQLiteConnection("Data Source=" & SQLDB & ";Version=3")
'SQLight DB auslesen
Conn.Open() 'Connection öffnen
' DataSet vorbereiten
bamDS = New DataSet("bamDS")
Dim Cmd As New SQLiteCommand
Cmd.Connection = Conn
. . .
' Tabelle "Optionen" einlesen
Cmd.CommandText = "SELECT * FROM Optionen"
Dim myAdapter_o As New SQLiteDataAdapter
myAdapter_o.SelectCommand = Cmd
myAdapter_o.MissingSchemaAction = MissingSchemaAction.AddWithKey
myAdapter_o.FillSchema(bamDS, SchemaType.Source, "Optionen")
myAdapter_o.Fill(bamDS, "Optionen")
. . .
'verwendete Resourcen wieder freigeben
Conn.Dispose()
'Datenbankverbindung beenden
Conn.Close()
End SubDanke für die Hilfe
Gruß Christian |