[b]Bom dia !!!
Pessoal se alguem puder me ajudar
estou com o seguinte problema estou Criando Banco de dados e tabela direto na minha aplicação
porem , só consigo criar apenas uma tabela e preciso criar varias tabelas , se alguem puder me dizer onde estou errando
e me ajudar ficarei grato , segue o codigo abaixo
/*
* BancoDao.java
*/
package Boleto.Bd;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Properties;
import javax.swing.JOptionPane;
/**
*
* @author
*
*/
public class BancoDao {
/** Creates a new instance of BancoDao */
public BancoDao() {
this("Boleto"); // Nome da Pasta do Banco de Dados
}
public BancoDao(String BoletoName) {
this.dbName = BoletoName;
setDBSystemDir();
dbProperties = loadDBProperties();
String driverName = dbProperties.getProperty("derby.driver");
loadDatabaseDriver(driverName);
if(!dbExists()) {
createDatabase();
}
}
private boolean dbExists() {
boolean bExists = false;
String dbLocation = getDatabaseLocation();
File dbFileDir = new File(dbLocation);
if (dbFileDir.exists()) {
bExists = true;
}
return bExists;
}
private void setDBSystemDir() {
// decide on the db system directory
// String userHomeDir = System.getProperty("user.home", "."); // Neste Caso O Systema Decide Diretorio
String userHomeDir = System.getProperty(".", // Caminho Do Banco
"C:/Java/"); // Caminho Da Maquina do Cliente
String systemDir = userHomeDir + "Boleto/src/Boleto/Bd/BancoDeDados"; // Caminho Do Banco de Dados
System.setProperty("derby.system.home", systemDir);
// create the db system directory
File fileSystemDir = new File(systemDir);
fileSystemDir.mkdir();
}
private void loadDatabaseDriver(String driverName) {
// load Derby driver
try {
Class.forName(driverName);
} catch (ClassNotFoundException ex) {
ex.printStackTrace();
}
}
private Properties loadDBProperties() {
InputStream dbPropInputStream = null;
dbPropInputStream = BancoDao.class.getResourceAsStream("Configuration.properties");
dbProperties = new Properties();
try {
dbProperties.load(dbPropInputStream);
} catch (IOException ex) {
ex.printStackTrace();
}
return dbProperties;
}
private boolean createDatabase() {
boolean bCreated = false;
Connection dbConnection = null;
String dbUrl = getDatabaseUrl();
dbProperties.put("create", "true");
try {
dbConnection = DriverManager.getConnection(dbUrl, dbProperties);
bCreated = createTables(dbConnection);
} catch (SQLException ex) {
// Inserir Mensagens de Erro
}
dbProperties.remove("create");
return bCreated;
}
private boolean createTables(Connection dbConnection) {
boolean bCreatedTables = false;
Statement statement = null;
try {
statement = dbConnection.createStatement();
statement.execute(strCreateTables);
bCreatedTables = true;
} catch (SQLException ex) {
ex.printStackTrace();
}
return bCreatedTables;
}
public void executeSQL_BdClear(String instrucao) {
try {
statement = dbConnection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
statement.executeUpdate(instrucao);
}
catch(SQLException sqlex){
//System.out.println("InstruçãoSql = "+instrucao);
JOptionPane.showMessageDialog(null,"nao foi possivel executar = "+sqlex
+"o sql passado foi = "+ instrucao);
}
}
public void executeSQL_BdAppend(String instrucao) {
try {
statement = dbConnection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
statement.executeUpdate(instrucao);
}
catch(SQLException sqlex){
//System.out.println("InstruçãoSql = "+instrucao);
JOptionPane.showMessageDialog(null,"nao foi possivel executar = "+sqlex
+"o sql passado foi = "+ instrucao);
}
}
public void executeSQL_BdNavigator(String instrucao) {
try {
statement = dbConnection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
resultset = statement.executeQuery(instrucao);
}
catch(SQLException sqlex){
//System.out.println("InstruçãoSql = "+instrucao);
JOptionPane.showMessageDialog(null,"nao foi possivel executar = "+sqlex
+"o sql passado foi = "+ instrucao);
}
}
public boolean connect() {
String dbUrl = getDatabaseUrl();
try {
dbConnection = DriverManager.getConnection(dbUrl, dbProperties);
// stmtSaveNewRecord = dbConnection.prepareStatement(strSaveAddress, Statement.RETURN_GENERATED_KEYS);
isConnected = dbConnection != null;
} catch (SQLException ex) {
isConnected = false;
}
return isConnected;
}
private String getHomeDir() {
return System.getProperty("user.home");
}
public void disconnect() {
if(isConnected) {
String dbUrl = getDatabaseUrl();
dbProperties.put("shutdown", "true");
try {
DriverManager.getConnection(dbUrl, dbProperties);
} catch (SQLException ex) {
}
isConnected = false;
}
}
public String getDatabaseLocation() {
String dbLocation = System.getProperty("derby.system.home") + "/" + dbName;
return dbLocation;
}
public String getDatabaseUrl() {
String dbUrl = dbProperties.getProperty("derby.url") + dbName;
return dbUrl;
}
// Começo Metodo Main Apenas Para teste de Conexão
/*
public static void main(String[] args) {
BancoDao db = new BancoDao();
System.out.println(db.getDatabaseLocation());
System.out.println(db.getDatabaseUrl());
db.connect();
db.disconnect();
}
*/
//Final Metodo Main Apenas Para teste de Conexão
private Connection dbConnection;
private Properties dbProperties;
private boolean isConnected;
private String dbName;
private PreparedStatement stmtSaveNewRecord;
public Statement statement;
public ResultSet resultset;
private static final String strCreateTables =
"Create Table App.Tipo01 (" +
" Id Integer Not Null Primary Key Generated Always As Identity (Start With 1, Increment By 1)," +
" Nome VarChar(040), " +
" Endereco VarChar(060), " +
" Numero VarChar(010), " +
" Bairro VarChar(020), " +
" Cidade VarChar(030), " +
" Estado VarChar(002), " +
" Cep VarChar(009), " +
" NumPostal VarChar(020), " +
" CodCep VarChar(001), " +
" CodTri Varchar(001), " +
" CodCif Varchar(034), " +
" Categoria VarChar(005) " +
")"+
"Create Table App.Tipo02 (" +
" Id Integer Not Null Primary Key Generated Always As Identity (Start With 1, Increment By 1)," +
" Nome VarChar(040), " +
" Endereco VarChar(060), " +
" Numero VarChar(010), " +
" Bairro VarChar(020), " +
" Cidade VarChar(030), " +
" Estado VarChar(002), " +
" Cep VarChar(009), " +
" NumPostal VarChar(020), " +
" CodCep VarChar(001), " +
" CodTri Varchar(001), " +
" CodCif Varchar(034), " +
" Categoria VarChar(005) " +
")";
/*
private static final String strSaveAddress =
"INSERT INTO APP.Tipo01 " +
"(Nome, Endereco, Numero, Bairro, Cidade, Estado, Cep) "+
"VALUES ('Nome', 'Endereco', 'Numero', 'Bairro', 'Cidade', 'Sp', 'Cep')";
*/
}