VB.NET Execute Multiple SQL Statements using OleDb command

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • mnarewec
    New Member
    • Nov 2007
    • 22

    VB.NET Execute Multiple SQL Statements using OleDb command

    I would like to execute multiple SQL Statement using OleDB command but its coming up with error " Characters found after end of statement"

    Below is my pieces of code.

    Code:
    Public Class DalOleDb
    Public Class DalOleDb
    Private _dss As DataSet
        Private _daa As OleDbDataAdapter
        Private _cnn As OleDbConnection
        Private _cmd As OleDbCommand
        Private _drr As OleDbDataReader
        Private _cnnStr As String
    
        Public Sub New()
            Try
                cnn = New OleDbConnection(cnnString)
                daa = New OleDbDataAdapter()
                dss = New DataSet()
                cmd = New OleDbCommand()
            Catch ex As Exception
                Throw New Exception(ex.Message)
            End Try
        End Sub
    
    Sub DeleteBatch()
    Try
    
    'Delete batches related to this company
                sb = sb.Append("DELETE FROM BATCH_HEADERS WHERE BH_CUSTNUMB=" & "'" & CompanyCode & "'")
                sb = sb.Append(";")
                sb = sb.Append("DELETE FROM BATCH_DETAILS WHERE BD_CUSTNUMB=" & "'" & CompanyCode & "'")
                sb = sb.Append(";")
                sb = sb.Append("DELETE FROM BATCH_HEADERS_BACKUP WHERE BHB_CUSTNUMB=" & "'" & CompanyCode & "'")
                sb = sb.AppendLine
                sb = sb.Append("DELETE FROM BATCH_DETAILS_BACKUP WHERE BDB_CUSTNUMB=" & "'" & CompanyCode & "'")
                sb = sb.Append(";")
    ExecuteSQL(sb.ToString())
    
      Catch ex As Exception
                Throw New Exception(ex.Message)
            Finally
            End Try
      End Sub
    
    
    Sub ExecuteSQL(ByRef SQLStatement As String)
            Try
                cmd.CommandText = SQLStatement
                cmd.Connection = cnn
                cnn.Open()
                cmd.ExecuteNonQuery()
            Catch ex As Exception
                Throw New Exception(ex.Message)
            Finally
                cnn.Close()
            End Try
        End Sub
    End Class
  • kunal pawar
    Contributor
    • Oct 2007
    • 297

    #2
    look every thing right

    plz change code

    sb = sb & "DELETE FROM BATCH_HEADERS WHERE BH_CUSTNUMB=" & "'" & CompanyCode & "';"

    sb = sb & "DELETE FROM BATCH_DETAILS WHERE BD_CUSTNUMB=" & "'" & CompanyCode & "';"
    sb = sb & "DELETE FROM BATCH_HEADERS_B ACKUP WHERE BHB_CUSTNUMB=" & "'" & CompanyCode & "';"
    sb = sb & "DELETE FROM BATCH_DETAILS_B ACKUP WHERE BDB_CUSTNUMB=" & "'" & CompanyCode & "';"

    Comment

    • Frinavale
      Recognized Expert Expert
      • Oct 2006
      • 9749

      #3
      I recommend using Parameters instead of dynamically building your query string.
      See http://bytes.com/topic/net/insights/...e-your-program for an example.

      Comment

      Working...