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
988 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
ID: 22734352
You can always send the data in to SQL as XML.
0

Featured Post

Ransomware-A Revenue Bonanza for Service Providers

Ransomware – malware that gets on your customers’ computers, encrypts their data, and extorts a hefty ransom for the decryption keys – is a surging new threat.  The purpose of this eBook is to educate the reader about ransomware attacks.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

In this article I will describe the Copy Database Wizard 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.
This article explains how to reset the password of the sa account on a Microsoft SQL Server.  The steps in this article work in SQL 2005, 2008, 2008 R2, 2012, 2014 and 2016.
The viewer will learn additional member functions of the vector class. Specifically, the capacity and swap member functions will be introduced.
This video will show you how to get GIT to work in Eclipse.   It will walk you through how to install the EGit plugin in eclipse and how to checkout an existing repository.

920 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

16 Experts available now in Live!

Get 1:1 Help Now