Data being submitted twice

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • dougancil
    Contributor
    • Apr 2010
    • 347

    #1

    Data being submitted twice

    I have the following aspx.vb page:

    Code:
    Imports System.IO
    Imports System.Data
    Imports System.Data.SqlClient
    Partial Class _Default
        Inherits System.Web.UI.Page
        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    
        End Sub
        Protected Sub Submit1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Submit1.Click
            Dim SaveLocation = "\\MSBWEB3\wwwroot\Webfile1\Data\upload.txt"
            If UploadFile(SaveLocation) Then
                'the file was uploaded: now try saving it to the database
                SaveToDatabase(SaveLocation)
            End If
        End Sub
        Private Function UploadFile(ByVal SavePath As String) As Boolean
            Dim fileWasUploaded As Boolean = False 'indicates whether or not the file was uploaded
    
            'Checking if the file upload control contains a file
            If Not File1.PostedFile Is Nothing And File1.PostedFile.ContentLength > 0 Then
                Try
                    'checking if it was .txt file BEFORE UPLOADING IT!
                    'You used to upload it first...but the file could be a virus
                    If File1.FileName.EndsWith(".txt") = False Then
                        'The file is not the expected type...do not upload it
                        'just post the validation message
                        message.Text = "The file you submitted is not a .txt file, please select a .txt file to upload."
                    Else
                        'The file is a .txt file
                        'checking to see if the file exists already
                        'If it does exist Deleting the existing one so that the new one can be created
                        If IO.File.Exists(SavePath) Then
                            IO.File.Delete(SavePath)
                        End If
    
                        'Now upload the file (save it to your server)
                        File1.PostedFile.SaveAs(SavePath)
    
                        'After saving it check to see if it exists
                        If File.Exists(SavePath) Then
                            'Upload was sucessful
                            message.Text = "Thank you for your submission"
                            fileWasUploaded = True
                        Else
                            'the file was not saved
                            message.Text = "Unable to save the file"
                        End If
                    End If
    
                Catch Exc As Exception
                    'We encountered a problem
                    message.Text = Exc.Message + " " + Exc.StackTrace
                End Try
            Else
                'No file was selected for uploading
                message.Text = "Please select a file to upload"
            End If
            Return fileWasUploaded
        End Function
    
        Private Sub SaveToDatabase(ByVal SavePath As String)
            Try
                Dim sqlQueryText As String = _
                  "BULK INSERT dialerresults " + _
                  "FROM '" & SavePath & "' " + _
                  "WITH ( FIELDTERMINATOR = ',' , ROWTERMINATOR = '\n' )"
    
    
                ' and bulk import the data:   
                'If ConfigurationManager.ConnectionStrings("Dialerresults") IsNot Nothing Then
                'Dim connection As String = ConfigurationManager.ConnectionStrings("Dialerresults").ConnectionString
                Dim connection As String = "data source=10.2.1.40;initial catalog=IVRDialer;uid=xxxx;password=xxxxx;"
    
                'I removed the DataTable declaration because you're not using it.
                Using con As New SqlConnection(connection)
                    con.Open()
                    ' execute the bulk import   
                    Using cmd As New SqlCommand(sqlQueryText, con)
    
                        cmd.ExecuteNonQuery()
    
                    End Using
                End Using
    
                'Else
                'message.Text="ConfigurationManager.ConnectionStrings('Dialerresults') is Nothing!"
                'End If
            Catch ex As Exception
                message.Text = ex.Message
    
            End Try
        End Sub
    
    End Class
    And mechanically it works but when I submit the following data to it:

    ,512 406 1639,david thompson,doctor smith,20100501 12:45,20100501 12:45,,
    ,512 408 1323,steve miller,doctor stevens,2010070 9 1:30,20100709 1:30,,

    it's double posted to my database. There is a clrf at the end of the data, so I don't think that's the issue. Does anyone have an idea why my page is "double posting" my information?

    Thank you

    Doug
  • dougancil
    Contributor
    • Apr 2010
    • 347

    #2
    This was the problem:

    Handles Submit1.Click

    I've removed this handler and it works fine now.

    Comment

    • ThatThatGuy
      Recognized Expert Contributor
      • Jul 2009
      • 453

      #3
      Originally posted by dougancil
      This was the problem:

      Handles Submit1.Click

      I've removed this handler and it works fine now.
      Glad you solved the problem on your own....

      Comment

      Working...