View Full Version : *asp* estrarre dati comtemporaneamente da due tabelle
sto scrivendo delle pagine in asp per creare dei questionari...
ho la necessità di estrarre contemporaneamente i dati da due tabelle..una è quella delle domande e l'altra è quella delle risposte...
il tutto perchè devo andare a inserire la domanda in una tabella
e sotto le risposte...
il mio problema è che proprio non so come fare...perchè se uso un ciclo do while not posso usare solo un recordset (Credo con due non riesco) alla volta...e con le query sql non sono molto pratico..pensavo di fare
un raggruppamento ma non funziona...
illuminatemi!
grazie :)
Secondo me la soluzione migliore è una query che collega i due campi....
PS: Lavori in Access ?
Se zippi il database e ti sta qui postalo così vedo com'è fatto e ti creo la query per vedere entrambi i dati! :p
Originariamente inviato da matpez
Secondo me la soluzione migliore è una query che collega i due campi....
PS: Lavori in Access ?
Se zippi il database e ti sta qui postalo così vedo com'è fatto e ti creo la query per vedere entrambi i dati! :p
ok per ora ho messo solo due domande di prova...con 3 risposte per ogni domanda tanto così per provare...
grazie!
Io opterei per aprire due recordset...con due cicli while incrociati!
Ad ogni giro prendi l'ID della domanda e fai una query passando l'ID della domanda nella tabelle delle rispose.
Io organizzerei il database come ti posto ora :)
Originariamente inviato da matpez
Io opterei per aprire due recordset...con due cicli while incrociati!
Ad ogni giro prendi l'ID della domanda e fai una query passando l'ID della domanda nella tabelle delle rispose.
Io organizzerei il database come ti posto ora :)
il database l'ho strutturato così perchè volevo creare più questionari....quindi ho creato una tabella che contiene i vari tipi di questionari...cmq avevo provato a fare così
Set objRecordSet = Server.CreateObject("ADODB.Recordset")
Set objRecordset = objConnessione.Execute("SELECT * FROM Domande")
Set objRecordSetRisposte = Server.CreateObject("ADODB.Recordset")
Set objRecordsetRisposte = objConnessione.Execute("SELECT * FROM testoRisposta")
do while not objrecordsetRisposte.Eof
%>
<table width="75%" border="1">
<tr>
<td width="87%"><%response.Write(objrecordset.Fields("TestoDomanda"))%></td>
<td width="13%"><%response.Write(objrecordsetRisposte.Fields("TestoRisposta"))%></td>
</tr>
</table>
<%
objrecordsetRisposte.MoveNExt
objrecordset.MoveNext
loop
ma non avevo pensato a mettere due while incrociati...ora provo...
IMHO due while ed un solo recordset:
SELECT Domande.IdDomanda, Domande.TestoDomanda, testoRispsta.TestoDomanda FROM testoRisposta, Domande WHERE testoRispsta.IdDomanda = Domande.IdDomanda;
Dim IDDomanda
do while not objrecordset.Eof
%>
<table width="75%" border="1">
<tr>
<td width="87%"><%response.Write(objrecordset.Fields("TestoDomanda"))%></td>
<%
IDDomanda = objrecordset.Fields("IdDomanda")
Do While Not objrecordset.Eof Or _
IDDomanda = objrecordset.Fields("IdDomanda")
%>
<td width="13%"><%
response.Write(objrecordset.Fields("TestoRisposta"))%></td>
<%
objrecordset.MoveNext
Loop
%>
</tr>
</table>
<%
If Not objrecordset.Eof Then
objrecordset.MoveNext
EndIf
loop
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.