Jeg sidder og kæmper med at læse 3 forskellige linjer i forskellige .txt dokumenter.
Jeg har fået den til at læse de forskellige linjer, men jeg kunne godt tænke mig at smide de 3 linjer ind i en dertil indrettet tabel i en mssql database.
Det er muligvis noget værrere spagethi kode, men er ret "rusten" til vb.net
altså, Pin - Phone - Message, skal ind i min mssql database. i samme tabel.
Jeg har prøvet noget forskelligt, men jeg rammer hovedet mod muren fordi jeg har alle de løkker, og fordi jeg faktisk er ret ny i vb.net.
På forhånd mange tak - her kommer koden:
Imports System.IO Module Module1 Sub Main() Dim di As System.IO.DirectoryInfo = New System.IO.DirectoryInfo("C:\testmails") Dim fiArr As System.IO.FileInfo() = di.GetFiles("*.txt") For Each fi As System.IO.FileInfo In fiArr Using sr As IO.StreamReader = New IO.StreamReader(fi.FullName) Dim line As String While (sr.Peek() <> -1) line = sr.ReadLine() If (line.StartsWith("Pin:")) Then line = line.Replace("Pin: ", "") MsgBox(line) Console.WriteLine(line) ' Her skal skrives til databasen istedet. Exit While End If End While End Using Using sr As IO.StreamReader = New IO.StreamReader(fi.FullName) Dim line As String While (sr.Peek() <> -1) line = sr.ReadLine() If (line.StartsWith("Phone:")) Then line = line.Replace("Phone: ", "") MsgBox(line) Console.WriteLine(line) ' Her skal skrives til databasen istedet. Exit While End If End While End Using Using sr As IO.StreamReader = New IO.StreamReader(fi.FullName) Dim line As String While (sr.Peek() <> -1) line = sr.ReadLine() If (line.StartsWith("Message:")) Then line = line.Replace("Message: ", "") MsgBox(line) Console.WriteLine(line) ' Her skal skrives til databasen istedet. Exit While End If End While End Using Next End Sub End Module
Dim sr As StreamReader = New StreamReader("C:\data.txt") Dim line As String Dim pin As String = "NULL" Dim phone As String = "NULL" Dim message As String = "" line = sr.ReadLine While line <> Nothing If line.StartsWith("Pin: ") Then pin = line.Substring("Pin: ".Length) End If If line.StartsWith("Phone: ") Then phone = line.Substring("Phone: ".Length) End If If line.StartsWith("Message: ") Then message = line.Substring("Message: ".Length) End If line = sr.ReadLine End While sr.Close() Dim sqlstr As String sqlstr = "INSERT INTO tab VALUES (" & pin & "," & phone & ",'" & message & "')" MessageBox.Show(sqlstr)
jeg fik det til at virke lidt, dog driller det med gevaldigt... at den køre alle igennem og giver null, i de filer der ikke er nogen, der burde den bare ikke skrive...
Imports System.IO Module Module1 Sub Main() Dim di As System.IO.DirectoryInfo = New System.IO.DirectoryInfo("C:\testmails") Dim fiArr As System.IO.FileInfo() = di.GetFiles("*.txt") For Each fi As System.IO.FileInfo In fiArr Using sr As IO.StreamReader = New IO.StreamReader(fi.FullName) Dim line As String Dim pin As String = "NULL" Dim phone As String = "NULL" Dim message As String = "" line = sr.ReadLine While (sr.Peek() <> -1) If line.StartsWith("Pin: ") Then pin = line.Substring("Pin: ".Length) End If If line.StartsWith("Phone: ") Then phone = line.Substring("Phone: ".Length) End If If line.StartsWith("Message: ") Then message = line.Substring("Message: ".Length) End If line = sr.ReadLine End While sr.Close() If pin = "NULL" Then
ElseIf phone = "NULL" Then
ElseIf message = "NULL" Then
Else Dim sqlstr As String sqlstr = "INSERT INTO tab VALUES (" & pin & "," & phone & ",'" & message & "')" MsgBox(sqlstr) End If End Using Next End Sub End Module
Er det på nogen somhelst måde muligt at få den til at kopiere de filer den har læst til et andet bibletek, hvorefter den skal slette filerne i dette biblotek ?
If pin<>"NULL" And phone<>"NULL" And message<>"NULL" Then sqlstr = "INSERT INTO tab VALUES (" & pin & "," & phone & ",'" & message & "')" ' og så lidt mere database logik her... End If
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.