Criando banco na primeira execução do programa

eii pessoal
eu sou iniciante em java e estou tendo alguns probleminhas com gerar o banco de dados na 1º execução!
eu fiz try simples para verificar se o banco existia, se não teria outro try para criar o banco. Até a parte que cria o banco está funcionando, mas quando vai criar as tabelas, simplesmente não cria e não dá erro algum:S
será que alguem poderia me ajudar???
Agradeço desde já -
Segue o meu código.

 
package Persistencia;


import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;


public class PstGeraBanco {

   public static void  GerarBanco() throws ClassNotFoundException{
        try{
           String sql="use BDPROJETOVENDA2";
           Connection conn = ConexaoMaster.getConexao();
           PreparedStatement pst= conn.prepareStatement(sql);
           pst.executeQuery();
           conn.close();


       }catch(SQLException se){

           if(se.getErrorCode()==911){
           JOptionPane.showMessageDialog(null,"Não existe banco de dados para essa aplicação, o mesmo será criado!","Mensagem",1);
           try{
               Connection conn = ConexaoMaster.getConexao();
               String sql2="create database BDPROJETOVENDA2";
               PreparedStatement pst2= conn.prepareStatement(sql2);
               pst2.executeQuery();
               conn.close();

             Connection conn2=Conexao.getConexao();
             String sql3="create table tbcliente(codcli int primary key identity,nomecli varchar(50)not null)";
             PreparedStatement pst3= conn2.prepareStatement(sql3);
             pst3.executeUpdate();
           
           
           }
           
           catch(SQLException ex){
           }
         
           }

           else{
               JOptionPane.showMessageDialog(null,"Bem Vindo!","Mensagem",1);
           }
       }catch(Exception e){

       }
    }

}

“Não dá erro nenhum” porque você faz seu programa engolir os erros.

Evite como a peste fazer o programa engolir erros. Sempre que tiver um catch, mostre alguma coisa, pelo menos.

            catch(SQLException ex){  
            // faça alguma coisa aqui !!!!
            }