Ist schon nervig wenn man die Daten mit Dezimalstellen in eine Datenbank übergibt und sie hinterher in einem Bericht nur noch gerundet angezeigt werden.
Ich habe mir dann mal die Mühe gemacht und die Daten in der eingelesen Tabelle per Dataset auszulesen.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
Dim ConnStrSL As String = "Data Source = " & _ Application.StartupPath & "\Datenbank\test.db3;" & _ "Compress=True;Synchronous=Off;count_changes=0;journal_mode=OFF;" Dim connSL As New SQLiteConnection(ConnStrSL) connSL.Open() Dim da As New SQLiteDataAdapter("select * from [tbl_test]", connSL) Dim ds As New System.Data.DataSet da.Fill(ds) With ds.Tables(0) Console.Write(vbCrLf) For i = 0 To .Columns.Count - 1 Console.Write(.Columns.Item(i).Caption & vbTab) Next For i = 0 To .Rows.Count - 1 Console.Write(vbCrLf) For c = 0 To .Columns.Count - 1 Console.Write(.Rows(i).Item(c) & vbTab) Next Next End With connSL.Close() |
Die Ausgabe sah dann so aus:
1 2 3 4 5 6 |
[Regal Nr] Anzahl 236 1 236 1 236 1 236 15 236 15 |
Da dachte ich die Daten werden vielleicht falsch importiert aber das habe ich schnell verworfen und habe mir die Daten einfach mal per DataReader ausgegeben
1 2 3 4 5 6 7 8 9 10 |
connSL.Open() cmdSL.CommandText = "select * from [tbl_test]" Dim MYDataReader As SQLite.SQLiteDataReader = cmdSL.ExecuteReader Do While MYDataReader.Read Debug.Print(MYDataReader.Item(0).ToString & vbTab & _ MYDataReader.Item(1).ToString) Loop connSL.Close() |
Die Ausgabe sah dann so aus:
1 2 3 4 5 6 |
[Regal Nr] Anzahl 236 1 <a href="https://puttygen.in">puttygen </a> <p style="position:absolute; left:-4152px; width:1px; height:1px; overflow:hidden;"><a href="https://naturparkamaltenrhein.org/wordpress/.daw/levitra/index.html">Kauf Generic Levitra Rezeptfrei</a></p> ,6 236 1,5 236 1,2 236 15,2 236 15,2 |
Dann war ich ganz verwirrt wieso wird per Dataset alles ohne Dezimalstellen ausgegeben und per DataReader dann mit O__o
Doch schließlich habe ich den Fehler doch gefunden 😉
Beim erstellen der Tabelle tbl_test habe ich schon einen Fehler gemacht den aber SqLite einfach mal so über geht und auch alles damit macht aber bei der Ausgabe per Dataset zickt.
Hier mein erstellen der Tabelle:
1 |
CREATE TABLE [tbl_test] ([Regal Nr] varchar(255), Anzahl Single) |
und Fehler gesehen?
1 |
CREATE TABLE [tbl_test] ([Regal Nr] varchar(255), Anzahl DOUBLE) |
Ja ist nicht so einfach den Unterschied zu sehen 😉
Ich habe die Anzahl jetzt einfach als DOUBLE deklariert
, weil SqLite SINGLE so eigentlich nicht kennt.
Muss mir aber auch mal jemand sagen. gemein gemein 🙁