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
991 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

Complete VMware vSphere® ESX(i) & Hyper-V Backup

Capture your entire system, including the host, with patented disk imaging integrated with VMware VADP / Microsoft VSS and RCT. RTOs is as low as 15 seconds with Acronis Active Restore™. You can enjoy unlimited P2V/V2V migrations from any source (even from a different hypervisor)

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
What language/protocol is the Angular Chat? 2 83
Problem to error 4 67
kill process lock Sql server 9 63
Reccomended programming language for client-server applications 12 126
The purpose of this article is to demonstrate how we can use conditional statements using Python.
Use this article to create a batch file to backup a Microsoft SQL Server database to a Windows folder.  The folder can be on the local hard drive or on a network share.  This batch file will query the SQL server to get the current date & time and wi…
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …
The viewer will learn how to pass data into a function in C++. This is one step further in using functions. Instead of only printing text onto the console, the function will be able to perform calculations with argumentents given by the user.

789 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