.NET heeft een garbage collector, dus hoef ik in principe geen object op nothing te gaan zetten.
Maar dit simpel database readertje heeft meer dan 50MB nodig
Er zitten wel 10.000 records in de tabel, maar dat mag toch geen rol spelen?
Er worden maar een 25 records effectief weggeschreven, de rest geraakt zelfs nooit in die If() selectie
btw: ik heb die database niet ontworpen, de klant/product/transporteur/chauffeur zitten allemaal in hetzelfde veld in dezelfde tabel, met een veldje dat aanduidt welk van de vier het is...
Hetzelfde voor die > en < fix, een isgelijkaan teken aanvaardt die db niet
de code:
Maar dit simpel database readertje heeft meer dan 50MB nodig
Er zitten wel 10.000 records in de tabel, maar dat mag toch geen rol spelen?
Er worden maar een 25 records effectief weggeschreven, de rest geraakt zelfs nooit in die If() selectie
btw: ik heb die database niet ontworpen, de klant/product/transporteur/chauffeur zitten allemaal in hetzelfde veld in dezelfde tabel, met een veldje dat aanduidt welk van de vier het is...
Hetzelfde voor die > en < fix, een isgelijkaan teken aanvaardt die db niet
de code:
code:
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
| Dim connectionstring As String = "Driver={Microsoft Paradox Driver (*.db )};DriverID=538;Fil=Paradox 4.X;DefaultDir=" & _dbpath & ";Dbq=" & _dbpath & ";CollatingSequence=International"
Dim oCon As New OdbcConnection(connectionstring)
oCon.Open()
Dim ocmd As New OdbcCommand("SELECT * FROM MOVE ORDER BY Date1 ASC, Time1 ASC", oCon)
Dim dbreader As OdbcDataReader = ocmd.ExecuteReader
Dim sw As New StreamWriter(Environment.CurrentDirectory & "/output.txt")
Dim i As Integer = 0
While dbreader.Read
If ((dbreader.GetValue(15) = _datum1) Or (dbreader.GetValue(15) = _datum2)) Then
Dim chauffeurnr As Object = dbreader.GetValue(7)
Dim transportnr As Object = dbreader.GetValue(4)
Dim productcode As Object = dbreader.GetValue(5)
Dim klantnr As Object = dbreader.GetValue(3)
Dim chauffeur As String = ""
Dim transporteur As String = ""
Dim product As String = ""
Dim klant As String = ""
Try
If (Not IsDBNull(klantnr)) Then klant = New OdbcCommand("SELECT String1 FROM BASE WHERE File>0 And File<2 AND code='" & klantnr & "'", oCon).ExecuteScalar()
Catch ex As Exception
Console.WriteLine("Kon 'klant' niet ophalen:" & ex.Message)
End Try
Try
If (Not IsDBNull(chauffeurnr)) Then chauffeur = New OdbcCommand("SELECT String1 FROM BASE WHERE File>4 AND File<6 AND code='" & chauffeurnr & "'", oCon).ExecuteScalar()
Catch ex As Exception
Console.WriteLine("Kon 'chauffeur' niet ophalen:" & ex.Message)
End Try
Try
If (Not IsDBNull(transportnr)) Then transporteur = New OdbcCommand("SELECT String1 FROM BASE WHERE File>1 AND File<3 AND code='" & transportnr & "'", oCon).ExecuteScalar()
Catch ex As Exception
Console.WriteLine("Kon 'transporteur' niet ophalen:" & ex.Message)
End Try
Try
If (Not IsDBNull(productcode)) Then product = New OdbcCommand("SELECT String1 FROM BASE WHERE File>2 AND File<4 AND code='" & productcode & "'", oCon).ExecuteScalar()
Catch ex As Exception
Console.WriteLine("Kon 'product' niet ophalen:" & ex.Message)
End Try
Dim sb As New StringBuilder()
sb.Append(dbreader.GetValue(0) & ";") ' nr
' nog wat appends, eigenlijk zou ik die ";" ook moeten appenden ipv &-en
sw.WriteLine(sb.ToString)
End If
End While
sw.Close()
oCon.Close() |