Pessoal, impaquei e atolei aqui.
1-O banco é mysql.
2-Tenho duas tabelas ‘dados’ e ‘historicos’
3-Tenho o campo ‘codigo_dados’ nas duas tabelas.
4-Na tabela ‘historicos’, o campo ‘codigo_dados e filho da código_dados da tabela ‘dados’.
5-Como eu gravo o código da tabela dados no código da tabela históricos após a seleção escolhida?
6-Eu consigo pegar o código da tabela dados, escolhendo o comboBox num_serie com os seguintes comandos:
public void adicionar() {
String sql = “select codigo_dados from dados where num_serie = ?”;
try {
pst = conexao.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
pst.setString(1, (String) cmbSerial.getSelectedItem());
rs = pst.executeQuery();
if (rs.next()) {
int codigo=rs.getInt(1);
System.out.println("O codigo selecionado foi: "+codigo);
}
} catch (Exception e) { JOptionPane.showMessageDialog(null, e);
}
7-Mas não consigo pegar esse código (código) para inserir na tabela de historicos com os comandos abaixo que pego de uma tela:
String sql1 = “insert into historicos(serial_number,data_hist,tecn_hist,hist_oricos,codigo_dados)”
+ "values(?,?,?,?,?)"; // código de dados é o quinto ponto de interrogação
try {
pst = conexao.prepareStatement(sql1);
pst.setString(1, (String) cmbSerial.getSelectedItem());
pst.setString(2, txtDataHist.getText());
pst.setString(3, txtTecnico.getText());
pst.setString(4, txtDescricao.getText());
pst.setString(5,“3”); // Aqui é o galho !!!
8-Como pegar a variável ‘codigo’ encontrada na tabela dados e jogar na tabela de históricos no campo (filho) de código ???
Ou tem uma maneira ‘automatica’ de tratar chave estrangeira?
9-Obrigado