Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

fc_pc

Conexao com duas base de dados

Recommended Posts

Pessoal, estou com seguinte problema tenho que fazer um cadastro de entrada, com as seguinte opção: Numero de processo (nr automatico) ; tipo de processo e codigo do processo. Ex: Processo (Reclamacao) ; codigo do processo (01) sendo que o 01 e o codigo da tabela de reclacao, sendo assim o codigo 01 da tabela processo e do tipo Informacao e o codigo e 01,,, na tabela informacao temos o codigo 01 e outras informacao tipo nome etcEu ja montei todos as tabelas e fiz todas os codigos para inclusao, exclusao e alteração dos processo (informacao;servico;reclamacao...),, porem nao estou conseguinto amarrar com a tabela principal cujo o nome e processo..Fiz uma pagina de um exemplo para você entederem melhor ID e a tabela principal e codigo a secundaria<!--#include file="config/common.asp" --><% call abre_conexao opcao = Request.QueryString("opcao") If opcao <> "" AND opcao = 1 Then codigo = Trim(Request.form("codigo")) Set rsBD = Server.CreateObject("ADODB.Recordset") Set rsBD1 = Server.CreateObject("ADODB.Recordset") strSQL = "INSERT INTO codigo (codigo) VALUES ('"&codigo&"');" strSQL1 = "INSERT INTO id (id,cdcodigo) VALUES ('"&codigo&"');" rsBD.Open strSQL,strCon rsBD1.Open strSQL1' aqui que esta o meu erro nao estou conseguinto abrir dois banco de dados e fazer o principal receber o codigo do secundario response.redirect("codigo.asp") End If%><html><head><title>Untitled Document</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head><body><form name='frmcodigo' method='post' action='codigo.asp?opcao=1'> <tr> <td><INPUT name="codigo" name="textfield"></td> <td colspan=2 class='fundo'><input type='submit' name='edita_salva' value='Inserir'></td></tr></form></body></html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

primeiro me diz uma coisa, você tem dois bancos ou duas tabelas?pois pelo que deu pra perceber pela primeira explicação são duas tabelas, mas pelo código postado são dois bancos.posta ae q agente t ajuda.flw

Compartilhar este post


Link para o post
Compartilhar em outros sites

primeiro me diz uma coisa, você tem dois bancos ou duas tabelas?pois pelo que deu pra perceber pela primeira explicação são duas tabelas, mas pelo código postado são dois bancos.posta ae q agente t ajuda.flw

Irei explicar novamente o meus dilemas.: - Primeiro dilema - Tenho uma tabela principal e outras secundarias (so tenho um DB), sendo que ela ira receber o codigo (incremental) dela e mais o outro codigo da tabela secundaria : Primeira tabela: CdTable1, tipo, cdtable2 : Segunda tabela - cdtable2,nome,cep,problema etc etc etc... - Segundo dilema - Em um dos meus formularios tenho dos os campos de devem ser preenchidos e um COMBO para escolher o ramo de atividade, porem este combo de um botao/link no lado que abre um popup para realizar cadastro de um novo ramo, sendo que ao fechar ele tem que aparecer na lista do combo, porem ele nao aparece, so aparece quando dou o refresh da pagina mais fazendo isso eu perco tudo que ja havia preenchido no formularioObrigado pela atenção...fc_pc

Compartilhar este post


Link para o post
Compartilhar em outros sites

kra vou tentar t ajudar,

esses dois bancos são fáceis de resolver, então mão a obra!!

 

 

1º dilema:

 

pra você buscar os resultados das duas tabelas faz o seguinte, na string SQL você faz um treco mais ou menos assim:

 

SELECT tbl1.<campo>, tbl1.<campo>, tbl2.<campo>, ......   FROM tbl1, tbl2 WHERE tbl1.codtable2 = tbl2.codtable2
onde na linha do SELECT você coloca todos os campos de todas as tabelas que você deseja ter disponível no Recordset, sempre usando

 

<nome_tbl>.<nome_campo>

 

na linha do from você diz todas as tabelas que está usando, todas, por exemplo,

você usa a tbl1 e tbl2 no SELECT e a tbl1, tbl2, tbl3 e tbl4 no WHERE você terá que indicar todas elas

 

** se aparecerem mais de uma vez no SELECT ou no WHERE você soh precisa

especificar uma vez)

 

na linha do WHERE você faz todas as consistencias dos relacionamentos da tabela, compare todas as chaves de tabelas com suas respectivas chaves estrangeiras das tabelas que você vai usar, exemplo.

 

       |-------------------|   |------------------|   |-------------------|    |    TABELA1        |   |    TABELA2       |   |    TABELA3        |    |-------------------|   |------------------|   |-------------------|    | * cod_tbl1        |   | * cod_tbl2       |   | * cod_tbl3        |    |    campo_1        |   |   cod_tbl1       |   |   cod_tbl1        |    |    campo_2        |   |   campo_1        |   |   campo_1         |    |    campo_3        |   |   campo_2        |   |   campo_2         |    |-------------------|   |------------------|   |-------------------|
o SELECT dessas tabelas para mostrar o campo2 da tabela3, campo1 da tabela2 e

os campos 1,2 da tabela 1 ficariam assim:

 

SELECT tabela3.campo2, tabela2.campo1, tabela1.campo1, tabela1.campo2   FROM tabela1, tabela2, tabela3 WHERE tabela1.cod_tbl1 = tabela2.cod_tbl1     AND tabela1.cod_tbl1 = tabela3.cod_tbl1
você poderia usar tambem um comando chamado INNER JOIN mas como são poucos campos a se relacionarem então não ha necessidade.

 

e então coloque isso num Recordset, e mostre os dados normalmente, exemplo

 

<conexao bd><abre bd><instrucao sql>' onde RS é a variável que vai receber o RecordSet' Conn é a variável que tem a conexao armazenada' SQL é a variável onde está a instrucao sql, comentada anteriormente no exemploSet RS = Conn.Execute(SQL) If RS.EOF Then   Response.Redirect ("sem_dados_disponiveis.htm")End IfRS.Move FirstDo While Not RS.EOF   Response.Write("Campo 2, Tabela 3:" & RS("tabela3.campo2"))   Response.Write("Campo 1, Tabela 2:" & RS("tabela2.campo1"))   Response.Write("Campo 1, Tabela 1:" & RS("tabela1.campo1"))   Response.Write("Campo 2, Tabela 1:" & RS("tabela1.campo2"))   RS.MoveNextLoop  ...  ...<fecha rs><fecha conn><limpa vars>
acho que sobre o primeiro dilema é isso.

 

2º dilema

 

cara esse segundo dilema seria muito bem resolvido com um java script, e isso eu naum sou mto bom, então dá uma passada lah no fórum deles.

 

----------------------------

espero ter ajudado, qq posta ae,

flws

 

:D

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.