Controllo record già inserito

martedì 28 ottobre 2008 - 11.39

bolla111 Profilo | Senior Member

voglio fare una query che mi controlli se un record è già stato inserito...
ho provato ad usare questa:
SELECT count(IDPROD) FROM DETTAGLI INNER JOIN PRODOTTI ON DETTAGLI.IDPROD=PRODOTTI.ID WHERE DETID=@DETID AND DETID2=@DETID2 AND ID=@ID".
DETID e DETID2 è la chiave primaria della tabella dettagli. IDPRODè chiave esterna.
quindi conto quanti prodotti sono inseriti nella tabella dettagli, che hanno come DETID un valore che gli passo (è uguale x tutti nel mio caso), come DETID2 un valore progressivo e come ID quello che gli vado ad inserire.
se il conteggio è = 0 il rpogramma continua, se è =1 mi fermo. il fatto è che questa query mi conta tutti i dettagli, anche se inserisco un prodotto che non ho ancora inserito (quindi un diverso id)...dove sbaglio?
oppure c'è un altro modo x farlo?
grazie

balfaz Profilo | Expert

SELECT [campi_necessari] FROM DETTAGLI WHERE DETID=@DETID AND DETID2=@DETID2 AND ID=@ID"

dopodiché fai l'interrogazione sul datatable (if datatableX.rows.count > 0 ....)
e la cosa più comoda da fare, comunque l'ho fatto velocemente, mi aspettano per andare a pranzo, spero ti serva....

RAGAZZI L'ORA DEL SERVER E' SBAGLIATA!!!!

"Ci sono due tipi di pazzi, quelli che dicono pazzie e quelli che le fanno diventare una realtà."

bolla111 Profilo | Senior Member

ho risolto...invece si select count(valore) ho fatto una select normale e non ho utilizzato il secondo campo chiave(il progressivo)
grazie cmq...
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5