Peterson Agas
Peterson Agas

Reputation: 25

The connection was not closed. The connection's current state is open

Try
    If functionmode = "ADD" Then
        SQLStr = "INSERT INTO boatmast VALUES ('" & gBoatType & "','" & TxtBoatCode.Text & "','" & TxtBoatName.Text & "','" & Format(txtBP.Text, "##0.#0") & "','" & Format(txtBPM.Text, "##0.#0") & "','" & Format(txtLDA.Text, "##0.#0") & "','" & , 'bpk', '" & Today & "', '" & updtime & "', 'bpk', '" & Today & "', '" & updtime & "')"
    End If
    conn.Open()
    SQLCmd.Connection = conn
    SQLCmd.CommandText = SQLStr
    SQLCmd.ExecuteNonQuery()
    conn.Close()


Catch ex As OdbcException
    MsgBox(ex.ToString)
Finally
    conn.Close()
End Try

Upvotes: 1

Views: 18753

Answers (1)

BizApps
BizApps

Reputation: 6130

The problem is you call conn.Close() twice. Retain your Close connection on your finally block.

Try

    If functionmode = "ADD" Then
                                        //Supposed this is you columnNAmes                                                     //Set parameters                 
        SQLStr = "INSERT INTO boatmast (gBoatType,BoatCode,BoatName,BP, BPM,LDA,bpk,Today,updtime,bpk2,Today2,updtime2) VALUES (@gBoatType,@BoatCode,@BoatName,@BP, @BPM,@LDA,@bpk,@Today,@updtime,@bpk2,@Today2,@updtime2)"

      SQLCmd.Parameters.AddWithValue("@gBoatType",gBoatType)
      //DO OTHER STUFF TIL @updtime2            

    conn.Open()
    SQLCmd.Connection = conn
    SQLCmd.CommandText = SQLStr
    SQLCmd.ExecuteNonQuery() 

  End If
Catch ex As OdbcException
    MsgBox(ex.ToString)
Finally
     If conn.State = ConnectionState.Open Then conn.Close()
End Try

Regards

Upvotes: 4

Related Questions