Solved

In vb.net, best way to open, parse a text file into single column list box, then export listbox items to a multi column SQL tbl

Posted on 2008-10-15
2
987 Views
Last Modified: 2013-11-18
So, I take a text file, or paste some text into my text box....
I want to parse the text file into individual lines to display in a list box, then, once user is satisfied, be able to save the list box items into the relevant SQL table,
1st, import the file into the text box
(see code snippet)
Then, parse into the listbox
(see code snippet)

Now how best to (when user clicks "save") transfer those items from the listbox to fill in a 'requirement' column in the SQL table, populating the rest of the table columns with either default values, or values set on a parent form?

I've seen too many ways of doing it. BULK COPY vs. iterating? This will likely never be MASSIVE amounts of data, so bulk copy might be overkill...

This is probably simpler than I'm making it sound...(and that's half my problem). Thanks in advance.



Private Sub btn_Import_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Import.Click

        Try

            With Me

                With .OpenFileDialog1

                    .Filter = "All Files(*.*)|*.*|Word(*.doc)|*.doc|RichTextFormat(*.rtf)|*.rtf|Text(*.txt)|*.txt|Log(*.log)|*.log"

                    .FilterIndex = 1

                    .InitialDirectory = "c:\working"

                    .Title = "File to Import"

                    .ShowDialog()

                    _filename = .FileName

                End With

                .txtParagraphs.Text = My.Computer.FileSystem.ReadAllText(_filename)

            End With

        Catch ex As Exception

            System.Windows.Forms.MessageBox.Show(ex.Message)

        End Try

    End Sub

'My parse function

    Private Function SplitSentences(ByVal sSourceText As String) As ArrayList

        Dim sTemp As String = sSourceText

        ' create the array list 

        Dim al As New ArrayList()

        ' split the sentences with a regular expression

        Dim RegexSentenceParse As String() = Regex.Split(sTemp, "(?<=['""A-Za-z0-9][\.\!\?])\s+(?=[A-Z])")

        ' loop the sentences

        Dim i As Integer = 0

        For i = 0 To RegexSentenceParse.Length - 1

            ' clean up and add to the array

            Dim sSingleSentence As String = RegexSentenceParse(i).Replace(Environment.NewLine, String.Empty)

            al.Add(sSingleSentence.Trim())

        Next

        Return al

    End Function

'Parse Text button

    Private Sub btn_Parse_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Parse.Click

        Try

            With Me

                lstSentences.Items.Clear()

                Dim al As New ArrayList()

                al = SplitSentences(txtParagraphs.Text)

            Dim i As Integer

                For i = 0 To al.Count - 1

                    'populate the list box

                    lstSentences.Items.Add(al(i).ToString())

                Next

            End With

        Catch ex As Exception

            System.Windows.Forms.MessageBox.Show(ex.Message)

        End Try

    End Sub

Open in new window

scrnshot1.JPG
0
Comment
Question by:1stcyberian
2 Comments
 
LVL 39

Accepted Solution

by:
BrandonGalderisi earned 300 total points
Comment Utility
You can always send the data in to SQL as XML.
0

Featured Post

Enabling OSINT in Activity Based Intelligence

Activity based intelligence (ABI) requires access to all available sources of data. Recorded Future allows analysts to observe structured data on the open, deep, and dark web.

Join & Write a Comment

How to remove superseded packages in windows w60 or w61 installation media (.wim) or online system to prevent unnecessary space. w60 means Windows Vista or Windows Server 2008. w61 means Windows 7 or Windows Server 2008 R2. There are various …
In this article I will describe the Backup & Restore method as one possible migration process and I will add the extra tasks needed for an upgrade when and where is applied so it will cover all.
The viewer will learn how to user default arguments when defining functions. This method of defining functions will be contrasted with the non-default-argument of defining functions.
The viewer will be introduced to the technique of using vectors in C++. The video will cover how to define a vector, store values in the vector and retrieve data from the values stored in the vector.

763 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now