Sou iniciante em java, aproximadamente 4 meses e estou tendo alguns problemas muito “chatinhos” com essa !@#$%¨&** de hsqldb e, estou começando com banco de dados em java
mas parece-me que o erro é bem simples, vamos ao x da questão
fiz um programinha só pra testar o banco de dados e sua conectividade e estou fazendo o mesmo rodar em modo standalone, mas concluí que não está gravando em disco os dados. Os arquivos gerados são somente 4 dos 5 que deveriam ser gerados. Ou seja, os arquivos criados são o lck, log, properties e o script. Mas o arquivo principal, o data, não foi criado.
Alguem poderia me dar uma ajuda???
na minha classe criei 4 métodos, um para conectar, outro pra criar as tabelas, outro pra inserir os dados nela e outro para imprimir.
O que acontece é que, quando os 4 métodos são executados, ele imprime numa boa. Mas quando eu executo somente o conectar e o imprimir dados ele diz que a tabela não foi encontrada.
O código fonte:
import java.sql.*;
class TesteBancoDados {
Connection conexao = null;
public TesteBancoDados() {
conectarBanco();
//criarTabelas();
//inicializaTabelas();
realizaConsulta();
}
public void conectarBanco() {
String driver = "org.hsqldb.jdbcDriver";
String url = "jdbc:hsqldb:file:dbCurso";
String usuario = "sa";
String senha = "";
try {
Class.forName(driver);
conexao = DriverManager.getConnection(url, usuario, senha);
System.out.println("Conexão realizada com sucesso");
}
catch (SQLException ex) {
System.out.println("SQLException");
while (ex != null) {
System.out.println("SQLState: " + ex.getSQLState());
System.out.println("Mensagem: " + ex.getMessage());
System.out.println("Código de Erro: " + ex.getErrorCode());
System.out.println("");
ex = ex.getNextException();
}
}
catch (Exception e) {
System.out.println(e.getMessage());
e.printStackTrace();
}
finally {
//try {
//conexao.close();
//}
//catch (Exception e) {
//}
}
}
public static void main (String[] args) {
TesteBancoDados application = new TesteBancoDados();
}
public void criarTabelas() {
try {
String tabelaFornecedor = "CREATE CACHED TABLE Fornecedor ("
+ "idFornecedor INTEGER PRIMARY KEY,"
+ "razaoSocial varchar(100) NOT NULL,"
+ "endereco varchar(50),"
+ "complemento varchar(20),"
+ "bairro varchar(30),"
+ "cidade varchar(30),"
+ "estado char(2),"
+ "cep varchar(10),"
+ "telefone varchar(15),"
+ "eMail varchar(100),"
+ "cnpj varchar(20))";
String tabelaProduto = "CREATE CACHED TABLE produtos("
+ "idProduto INTEGER PRIMARY KEY,"
+ "produto varchar(100) NOT NULL,"
+ "idFornecedor INTEGER NOT NULL,"
+ "qtdaEstoque INTEGER NOT NULL,"
+ "data date,"
+ "constraint fk_fornecedor foreign key"
+ "(idFornecedor) references fornecedor(idFornecedor))";
Statement st = conexao.createStatement();
int t1 = st.executeUpdate(tabelaFornecedor);
System.out.println("Tabela Fornecedor criada com sucesso");
int t2 = st.executeUpdate(tabelaProduto);
System.out.println("Tabela Produto criada com sucesso");
st.close();
}
catch (SQLException exc) {
System.out.println(exc.getMessage());
exc.printStackTrace();
}
}
public void inicializaTabelas() {
try {
String tabelaFornecedor = "insert into Fornecedor(idFornecedor," +
"razaoSocial, endereco, complemento, bairro, cidade, estado, cep, telefone," +
"eMail, cnpj) values ('1','Uniplac','rua euclides','ap 22','beatriz','lages'," +
"'sc','8850511','2223023','ehua@uniplac.net','41547894')";
Statement st = conexao.createStatement();
int t1 = st.executeUpdate(tabelaFornecedor);
st.close();
}
catch (SQLException e) {
System.out.println(e.getMessage());
e.printStackTrace();
}
}
public void realizaConsulta() {
try {
Statement st = conexao.createStatement();
ResultSet rs = st.executeQuery("SELECT * FROM Fornecedor");
while (rs.next()) {
System.out.println(rs.getInt("idFornecedor"));
System.out.println(rs.getString("razaoSocial"));
System.out.println(rs.getString("endereco"));
System.out.println(rs.getString("complemento"));
System.out.println(rs.getString("bairro"));
System.out.println(rs.getString("cidade"));
System.out.println(rs.getString("estado"));
System.out.println(rs.getString("cep"));
System.out.println(rs.getString("telefone"));
System.out.println(rs.getString("eMail"));
System.out.println(rs.getString("cnpj"));
}
st.close();
rs.close();
}
catch (SQLException x) {
System.out.println(x.getMessage());
x.printStackTrace();
}
}
}
quem puder me ajudar eu ficaria muito grato
vlw ;*