There are two potential causes:
1) The values you're supplying to the WHERE-clause don't actually match any record.
2) DB2 may require an explicit transaction to be committed in order to not roll back your DELETE-statement. I actually don't know if this is the case or not - but it's good practice in any case to use an explicit transaction.
Not directly related: Your way of "using" the connection is rather strange.
This should work or be "close to working" (I can't test it):
Public Sub Example(connectionString As String)
Using connection As DB2Connection = New DB2Connection(connectionString)
Using transaction As DB2Transaction = connection.BeginTransaction(IsolationLevel.Serializable)
Using command As DB2Command = New DB2Command("", connection, transaction)
connection.Open()
command.CommandText = "DELETE FROM TESTDATA.VXWFEATURE WHERE I001TRLN=@Tireline AND FECLS=@selClass"
command.Parameters.Add("@Tireline", iDB2DbType.iDB2VarChar).Value = Tireline
command.Parameters.Add("@selClass", iDB2DbType.iDB2Decimal).Value = selClass
command.ExecuteNonQuery()
transaction.Commit()
End Using
End Using
End Using
End Sub
If you can't get this to compile, please tell and I'll try to help.