57 messaggi dal 29 settembre 2001
come posso interrogare due tabelle di un database con una sola query?Devo verificare che un dato non sia presente in entrambe le tabelle.

SQL = "SELECT Username, Password FROM tabella1 AND tabella2 WHERE username = '"&Username&"' OR password = '"&Password&"'"

ho provato così ma...non funge

ps. A cosa serve questo? [] lo ho trovato da qualche parte per la password: SELECT [Password] FROM ...etc

Se nella query hai almeno un campo in comune (e quindi anche sulle due tabelle) prova ad usare la UNION:

SELECT * FROM primatab UNION SELECT * FROM secondatab

---[ www.digiscout.it ]---

"This message was written using 100% recycled electrons"
57 messaggi dal 29 settembre 2001
Avendo le due tabelle un diverso numero di campi mi dava errore. Adesso facendo cossì forse puo' andare bene ma non so visto che piu' in la nel codice ho un altro errore...ahhhh

57 messaggi dal 29 settembre 2001
scusate ma riposto il codice , quello che all'inizio funzionava:

'qui c'è l'include con la connessione al database, poi..

If len(Request.Form("Email")) > 0 then
If len(Request.Form("Username")) > 5 then
If len(Request.Form("Password")) > 5 then

username = request.Form("Username")
password = request.Form("Password")

sql = "SELECT * FROM UtentiConferma WHERE username = '"&Username&"' OR password = '"&Password&"'"

Set RS = Server.CreateObject("ADODB.Recordset")
RS.Open sql, Conn, 1, 3

If RS.EOF Then

'aggiungo record
RS.AddNew
RS("username") = request.Form("Username")
RS("password") = request.Form("Password")
RS("nome") = request.Form("Nome")
RS("cognome") = request.Form("Cognome")
RS("azienda") = request.Form("Azienda")
RS("telefono") = request.Form("Telefono")
RS("email") = request.Form("Email")
RS("data") = Date()
RS.Update

email = Rs("email")

HTML = "<html>...."
"....</html>"


Set myMail = Server.CreateObject("CDONTS.NewMail")
myMail.From = "info@sito.it"
myMail.To = email
myMail.Subject = "Conferma registrazione"
myMail.BodyFormat = 0
myMail.MailFormat = 0
myMail.Body = HTML
myMail.Send()
Set myMail = Nothing

Response.Write "Registrazione affettuata con successo! <br>Riceverai una e-mail in cui ti verrà chiesto di confermare la tua registrazione"


Else

Response.Write "Utente esistente, cambia username o password"

End If
End If
End If
End If

%>


Adesso però vorrei che la query controlli la non esistenza di username e password su due tabelle. Quello che voglio fare è avere due tabelle, una per registrarsi, la seconda per confermare una volta mandata l'e-mail la registrazione (altra pagina che ho già fatto e funziona).

Devo quindi fare una query su due tabelle e poi inserire i dati in una di queste due.

57 messaggi dal 29 settembre 2001
ho provato così:

<%

If len(Request.Form("Email")) > 0 then
If len(Request.Form("Username")) > 5 then
If len(Request.Form("Password")) > 5 then


username = request.Form("Username")
password = request.Form("Password")


SQL = "SELECT Username, Password FROM tblUtenti WHERE username = '"&Username&"' OR password = '"&Password&"'"

Set rs = Conn.Execute(SQL)

'Controllo esistenza
If rs.EOF Then

SQL = "SELECT Username, Password FROM UtentiConferma WHERE username = '"&Username&"' OR password = '"&Password&"'"

Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open SQL, Conn, 1, 3

If rs.EOF Then

'aggiungo record
rs.AddNew
rs("Nome") = request.Form("Nome")
rs("Cognome") = request.Form("Cognome")
rs("Azienda") = request.Form("Azienda")
rs("Telefono") = request.Form("Telefono")
rs("Email") = request.Form("Email")
rs("Username") = request.Form("Username")
rs("Password") = request.Form("Password")
rs("Data") = Date()
rs.Update

email = rs("Email")

HTML = "<html>..." &_
"...</html>"


Set myMail = Server.CreateObject("CDONTS.NewMail")
myMail.From = "info@sito.it"
myMail.To = email
myMail.Subject = "Conferma registrazione"
myMail.BodyFormat = 0
myMail.MailFormat = 0
myMail.Body = HTML
myMail.Send()
Set myMail = Nothing

Response.Write "Registrazione affettuata con successo! <br>Riceverai una e-mail per confermare la tua registrazione"

Else

Response.Write "Utente esistente, cambia username o password"

End If
End If
End If
End If
End If

%>

..ma niente, "Item cannot be found in the collection corresponding to the requested name or ordinal" quando aggiungo il record.
Forse è megli usare il comando UNION, ma poi su quale delle due tabelle me li inserisce?


Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.