Olá a todos
estou na desenvolvendo a parte prática do meu TCC, estou quase concluído então optei por tentar fazer um instalador do programa, onde instale o banco do programa junto , para isso escolhi o inno setup.
lendo na internet e vendo alguns vídeos também, descobri que não é o instalador que importa o banco para o mysql, e sim é um código incluso dentro do meu programa, que vai pegar o arquivo exportado pelo banco, e vai executa-lo no banco.
mais agora estou com algumas duvidas em relação a como fazer isso.
elaborei um exercício simples para tentar fazer.
Esse é meu método main
[code]public static void main(String[] args) {
try{
verificarPrimeiraAcesso();
JfrmPrincipal frame = new JfrmPrincipal();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}[/code]
Se a o passar pelo connection for gerado o erro SQLExcepion, significa que o banco não existe no mysql e deverá cria-lo, se já tiver o banco continua o método main normal.
[code]private static void verificarPrimeiraAcesso() {
try(Connection con = Conexao.conectar()){
} catch (SQLException e) {
Conexao.criarDB();
verificarPrimeiraAcesso();
}
}[/code]
Esse é meu método de conexão com o banco, que retorna a conexão.
[code]public static Connection conectar() throws SQLException{
return DriverManager.
getConnection(“jdbc:mysql://localhost/Instalador”,“root”,");
}[/code]
Esse é o método que estou com mais dificuldade, a criação do banco.
[code]public static void criarDB(){
/*
*Aqui é um ponto que me gera duvida, para poder fazer a conexão com o banco, sem fazer referência a nenhuma tabela
* é possível?, porque como a tabela ainda não foi criada, como posso referenciar uma ?
* apenas quero que seja executado a criação do banco, que está no Instalador.sql
*/
try(Connection con = DriverManager.getConnection(“jdbc:mysql://localhost/”,“root”,"")) {
BufferedReader leitor = new BufferedReader(new FileReader(new File(Conexao.class.getResource
("/Banco/Instalador.sql") + "").getAbsolutePath()));
Statement stt = con.createStatement();
String linhaSQL;
while((linhaSQL = leitor.readLine()) != null){
stt.executeUpdate(linhaSQL);
}
stt.close();
} catch (IOException | SQLException e) {
e.printStackTrace();
}
}[/code]
Espero que alguém possa me ajudar pois estou precisando bastante, e se alguém souber como fazer o inno setup instalar o mysql caso não haja no pc, por favor preciso disso também.
Muito obrigado a todos, também deixei aqui no tópico a o projeto com o banco, caso alguém queira ver melhor. Obrigado a todos desde já.