Oi Pessoal, ainda tenho muitas duvidas pois estou iniciando agora. Não tenho praticado muito, mais desta vez é muito serio, tenho que aprender muito rápido pelo memos coisas básicas. Para isso estou tentando fazer um programa simples de controle de OS, com um Banco de Dados MBF, mais as coisas estão caminhando muito lentamente.
Surgiu um contra tempo. POW, eu não consigo criar um metodo, ou classe… sei lá… que faça o inserte das informações em uma tabela ( que aliais é a unica até agora), :)…
Até agora tenho só duas classes. Uma de Conexão (Tirei de um exemplo), e a outra que irá executar os comandos.
abaixo calsse conexão
import javax.swing.*;
import java.sql.*;
import javax.swing.JOptionPane;
public class Conexao
{
private Connection conexao;
private Statement st;
private ResultSet rs;
private String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
private String url = "jdbc:odbc:conexao";
private String login = "";
private String senha = "";
public Conexao()
{
try{
Class.forName(driver);
conexao = DriverManager.getConnection(url, login, senha);
st = conexao.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
JOptionPane.showMessageDialog(null,"Conectado");
}
catch(ClassNotFoundException erro){
JOptionPane.showMessageDialog(null, "Erro ao conectar no banco de dados \n" + erro.getMessage());
}
catch(SQLException erro){
JOptionPane.showMessageDialog(null, "O banco de dados não foi encontrado \n" + erro.getMessage());
}
}
public ResultSet selecionarTabela(String SQL){
try{
rs = st.executeQuery(SQL);
}
catch(SQLException erro){
JOptionPane.showMessageDialog(null, "Ocorreu um erro na consulta ao Banco de Dados \n" + erro.getMessage());
}
return rs;
}
public boolean alterar(String SQL){
boolean status = false;
try{
status = st.execute(SQL);
}
catch(SQLException erro){}
return status;
}
public boolean incluir(String SQL){
boolean status = false;
try{
status = st.execute(SQL);
}
catch (SQLException erro){}
return status;
}
public int obterCodigoUltimoRegistro(String SQL){
int i = -1;
try{
rs = st.executeQuery(SQL);
rs.next();
i = rs.getInt(1);
}
catch(SQLException e){}
return i;
}
}
Classe de execução
import java.sql.*;
import java.sql.ResultSet;
import java.util.Date;
import javax.swing.JOptionPane;
import java.util.ArrayList;
import javax.swing.text.MaskFormatter;
public class OrdemServico {
private Conexao con;
private int numero;
private String perimetro;
private String logradouro;
private Date data;
private String dburaco;
private String drecomposicao;
private ArrayList conteudo;
private String[] servico;
private String sistema;
private double total;
public OrdemServico(Conexao con){
this.con = con;
}
public OrdemServico(){
try{
MaskFormatter formato = new MaskFormatter("[telefone removido]");
numero = 0;
perimetro = "";
logradouro = "";
data = new Date();
dburaco = "";
drecomposicao = "";
conteudo = new ArrayList();
servico = new String[6];
sistema = "";
total = 0.00;
}catch(Exception e){e.printStackTrace();}
}
public int getNumero() {
return numero;
}
public void setNumero(int numero) {
this.numero = numero;
}
public String getPerimetro() {
return perimetro;
}
public void setPerimetro(String perimetro) {
this.perimetro = perimetro;
}
public String getLogradouro() {
return logradouro;
}
public void setLogradouro(String logradouro) {
this.logradouro = logradouro;
}
public Date getData() {
return data;
}
public void setData(Date data) {
this.data = data;
}
public String getDburaco() {
return dburaco;
}
public void setDburaco(String dburaco) {
this.dburaco = dburaco;
}
public String getDrecomposicao() {
return drecomposicao;
}
public void setDrecomposicao(String drecomposicao) {
this.drecomposicao = drecomposicao;
}
public String getSistema() {
return sistema;
}
public void setSistema(String sistema) {
this.sistema = sistema;
}
public ArrayList getConteudo() {
return conteudo;
}
public void setConteudo(ArrayList conteudo) {
this.conteudo = conteudo;
}
public String[] getServico() {
return servico;
}
public void setServico(String[] servico) {
this.servico = servico;
}
public double getTotal() {
return total;
}
public void setTotal(double total) {
this.total = total;
}
public void SelecionarNOs(String Os){
String SQL= "select * from OS where NOs = '"+Os+"'";
ResultSet result = con.selecionarTabela(SQL);
try{
while(result.next()){
setNumero(result.getInt(1));
setData(result.getDate(2));
setLogradouro(result.getString(3));
setPerimetro(result.getString(4));
setDburaco(result.getString(5));
setDrecomposicao(result.getString(6));
}
}
catch(Exception e){e.printStackTrace();}
}
public String[] SelecionarServico(String subItem, String sistema){
String dados[] = new String[2];
String sql = "select Servico.Servicos, Servico.Unidade, Sistemas.Unitario from Servico inner join Sistemas on Servico.SubItem = Sistemas.Item where subItem =" + subItem + "and Sistemas.Sistema =" + sistema;
ResultSet result = con.selecionarTabela(sql);
try{
while(result.next()){
dados[0] = result.getString(1);
dados[1] = result.getString(2);
dados[2] = result.getString(3);
}
}
catch(SQLException e){
JOptionPane.showMessageDialog(null, "Erro no Método SelecionarServico");
}
return dados;
}
}
O que eu faço como eu crio o metodo para inserir um novo resisgtro no banco. É possivel criar uma classe com o metodo insert depois apenas executar esse metodo na classe acima???