What I would do would be to breakup your routine into separate
ALTER TABLE
commands, and wrap the query executions in a
Try...Catch
block so that the code would continue on if one or more of the fields already exists.
Open conn
try
command = "ALTER Table Add Column NewColumn1 DataType"
execute
catch
try
command = "ALTER Table Add Column NewColumn2 DataType"
execute
catch
A variation of the above method would again be able to use a try-catch; but this time try to execute a select statement looking for that column by name, and in the catch block you would run the ALTER statement
Open conn
try
command = "SELECT NewColumn1 FROM Table"
execute
catch
command = "ALTER Table Add Column NewColumn1 DataType"
execute