hier mein code, ist ziemlich viel, aber nur so sieht man wahrscheinlich, was ich meine. in typeArray sind die filetypen gespeichert, nach denen ich suche. GetFiles ist dann die methode, mit der ich diese dateien finden kann.
hoffe, es ist nicht zu undurchsichtig.
For q = 0 To typeArray.Count - 1
Dim arr As New ArrayList()
GetFiles(_folder, typeArray.Item(q), arr)
Dim f As String
For Each f In arr
For i = 0 To beginArray.Count - 1
Try
sr = New IO.StreamReader(f)
s = sr.ReadToEnd
sr.Close()
searchWord = "(""(" & beginArray.Item(i) & "[^""]*)"")"
r = New Regex(searchWord, RegexOptions.IgnoreCase Or _
RegexOptions.Compiled)
m = r.Matches(s)
'Definition einer neuen Verbindung
Try
myconn.Open()
Dim mycomm As New OleDbCommand("INSERT INTO SourceFiles" & _
"(Quellpfad, SourceID, SearchDatum, SearchZeit)" & "VALUES" & _
"(?,?,?,?)", myconn)
myComm.Parameters.Add("@Quellpfad", OleDbType.VarChar, 250, _
"Quellpfad").Value = f
myComm.Parameters.Add("@SourceID", OleDbType.Integer, 20, _
"SourceID").Value = p
myComm.Parameters.Add("@SearchDatum", OleDbType.DBDate, 12, _
"SearchDatum").Value = Now.Date
myComm.Parameters.Add("@SearchZeit", OleDbType.DBTime, 8, _
"SearchZeit").Value = Now.TimeOfDay
myComm.ExecuteNonQuery()
Catch ex As Exception
'falls ein Fehler auftritt, wird er in die Textdatei
' geschrieben
fw.WriteLine(vbNewLine & "folgender Fehler bei der Eingabe" & _
"in SourceFiles ist aufgetreten: " & _
ex.Message)
Finally
myconn.Close()
End Try
For k = 0 To m.Count - 1
Try
myconn.Open()
Dim mycomm As New OleDbCommand("INSERT INTO Links(" & _
"LinkID, Zielpfad)" & "VALUES (?,?)", myconn)
myComm.Parameters.Add("@LinkID", OleDbType.Integer, 20, _
"LinkID").Value = o
myComm.Parameters.Add("@Zielpfad", OleDbType.VarChar, _
250, "Zielpfad").Value = m(k).Value
myComm.ExecuteNonQuery()
Catch ex As Exception
fw.WriteLine(vbNewLine & "folgender Fehler bei der" & _
"Eingabe in Links ist aufgetreten: " & _
ex.Message)
Finally
myconn.Close()
End Try
Try
myconn.Open()
Dim mycomm As New OleDbCommand("INSERT INTO FilesLinks (" & _
"LinkID) VALUES (?)", myconn)
myComm.Parameters.Add("@LinkID", OleDbType.Integer, 20, _
"LinkID").Value = o
myComm.ExecuteNonQuery()
Catch ex As Exception
fw.WriteLine(vbNewLine & "folgender Fehler bei Eingabe" & _
"in DB: " & ex.Message)
Finally
myconn.Close()
End Try
o = o + 1
fw.WriteLine("url gefunden: " & m(k).Value & "in: " & f)
Next
Try
myconn.Open()
Dim mycomm As New OleDbCommand("INSERT INTO FilesLinks(" & _
"SourceID) VALUES(?)", myconn)
myComm.Parameters.Add("@SourceID", OleDbType.Integer, 20, _
"SourceID").Value = p
mycomm.ExecuteNonQuery()
Catch ex As Exception
fw.WriteLine(vbNewLine & "folgender Fehler bei Eingabe in" & _
"FilesLinks: " & ex.Message)
Finally
myconn.Close()
End Try
fw.WriteLine("Treffer in " & f & " für """ & beginArray.Item(i) _
& """: " & m.Count)
fw.WriteLine()
p = p + 1
s = String.Empty
Catch ex As Exception
fw.WriteLine("folgender Fehler beim Einlesen der Datei " & f _
& ": " & ex.Message)
End Try
Next
Next
Next |