2011-02-05 3 views
0

Helo, У меня есть база данных SQL и 50 текстовых файлов и Visual Basic 2010 Premimum, Мне нужно найти конкретную строку текста в текстовых файлах, а затем взять следующие 37 строк текста и сохранить их в моей базе данных. Мне нужен совет, чтобы указать мне в правильном направлении. Кроме того, если кто-нибудь может знать книгу, которую я могу использовать для будущей ссылки, мы будем очень благодарны.Найдите определенную строку текста в текстовом документе и вставьте следующие 37 строк текста в базу данных

ответ

1
Const textToFind As String = "a specific line of text" 
Const maxLineCount As Int32 = 37 
Dim allLines As New List(Of String) 
Dim path As String = "c:\temp\MyTest.txt" 

Try 
    If File.Exists(path) Then 
     File.Delete(path) 
    End If 

    Dim sw As StreamWriter = New StreamWriter(path) 
    For i As Int32 = 1 To 100 
     sw.WriteLine("This") 
     sw.WriteLine("is some text") 
     sw.WriteLine("to test") 
     sw.WriteLine("Reading") 
     sw.WriteLine("a specific line of text") 
    Next 
    sw.Close() 

    Dim sr As StreamReader = New StreamReader(path) 
    Dim lineCounter As Int32 = 0 
    Dim lineFound As Int32 = -1 
    Do While sr.Peek() >= 0 
     Dim line As String = sr.ReadLine 
     If lineFound = -1 Then 
     If line.Equals(textToFind) Then 
      lineFound = 0 
     End If 
     Else 
     lineCounter += 1 
     If lineCounter <= maxLineCount Then 
      allLines.Add(line) 
     Else 
      Exit Do 
     End If 
     End If 
    Loop 
    sr.Close() 
    ' save found lines to the database ' 
Catch ex As Exception 
    Console.WriteLine("The process failed: {0}", ex.ToString()) 
End Try 
+0

Спасибо за ваше время. – robblot

1

Как для разбора файла, это легко search files линия за линией:

Var i = 0 
Var foundOnLineNumber = -1 
For Each line In File.ReadAllLines("<file name here>") 
    i = i + 1 
    If foundOnLineNumber > 0 Then 
     ' Add line to database 
    Else If <criteria for finding "that" line> Then 
     foundOnLineNumber = i 
    End If 
Next 

Я никогда не был хорош в VB (я обычно делаю C#, так что это не может скомпилировать). Попытайтесь выяснить, какие критерии вы ищете, и замените это в приведенном выше коде. Here - это список книг VB.NET. Найдите тот, который охватывает технологию ADO или другую технологию доступа к базе данных. Я думаю, что ваша самая большая помощь будет заключаться в том, чтобы просто хорошо понять язык VB и возможности, которыми обладает .NET.

+0

Спасибо за ваше время – robblot

Смежные вопросы