?
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
Medium Priority
?
999 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
2 Comments
 
LVL 39

Accepted Solution

by:
BrandonGalderisi earned 1200 total points
ID: 22734352
You can always send the data in to SQL as XML.
0

Featured Post

On Demand Webinar - Networking for the Cloud Era

This webinar discusses:
-Common barriers companies experience when moving to the cloud
-How SD-WAN changes the way we look at networks
-Best practices customers should employ moving forward with cloud migration
-What happens behind the scenes of SteelConnect’s one-click button

Question has a verified solution.

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

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…
This article describes how to use a set of graphical playing cards to create a Draw Poker game in Excel or VB6.
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.
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.

719 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