Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1006
  • Last Modified:

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

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
1stcyberian
Asked:
1stcyberian
1 Solution
 
BrandonGalderisiCommented:
You can always send the data in to SQL as XML.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

What Kind of Coding Program is Right for You?

There are many ways to learn to code these days. From coding bootcamps like Flatiron School to online courses to totally free beginner resources. The best way to learn to code depends on many factors, but the most important one is you. See what course is best for you.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now