Bem, eu estou fazendo um applet em Java que se integra com um banco de dados e quanto as conexões tudo rola certo, o problema é o seguinte, como usar insert into com chave estrangeira???
Tipo, as minhas tabelas usadas são as seguintes:
Aluno (IdAluno INT,Nome VARCHAR(50), Email VARCHAR(50), Telefone INT)
Pasta(NomePasta VARCHAR(30),PastaPai VARCHAR(30))
PastaPai references Pasta (NomePasta)
MapaConceitual(NomeMapa VARCHAR(30),NomePasta VARCHAR(30),PastaPai VARCHAR(30) ,IdAluno INT,MapaDsnho BLOB,XMLMapa BLOB)
NomePasta, PastaPai references Pasta (NomePasta,PastaPai)
IdAluno references Aluno(IdAluno)
//Considere aqui que uma tabela pasta e aluno jah foram criadas
// e que as variáveis pasta, pastaPai e idAluno contém String
// que identificam as tabelas que desejamos procurar
//agora vai criar um novo statement
sql = new StringBuffer();
// o Select que vai escolher a pasta que tem que referenciar
String selectNomePasta = "SELECT nomePasta"
+"WHERE nomePasta = "+pasta
+"AND pastaPai = "+pastaPai;
// e o nome da pasta pai dessa pasta
String selectNomePastaPai = "SELECT pastaPai"
+"WHERE nomePasta = "+pasta
+"AND pastaPai = "+pastaPai;
String selectIdAluno = "SELECT IdAluno "
+"WHERE IdAluno = "+idAluno;
//Insere numa tabela mapa conceitual
sql.append("INSERT INTO MapaConceitual");
//nos seguintes campos sql.append("(NOMEMAPA,NOMEPASTA,PASTAPAI,IDALUNO,DESENHO_MAPA,XML_MAPA)");
sql.append("VALUES (?,"+selectNomePasta+","+selectNomePastaPai+","+selectIdAluno+",?,?)");
Mas e agora para criar uma tabela Pasta?
Não consegui achar nada na inet que m ajudasse qto a isso :/ Espero que alguém possa me ajudar. Obrigado e abraços.