Evitare di inserire righe doppie in db

martedì 31 luglio 2012 - 15.57
Tag Elenco Tags  VB.NET  |  Visual Studio 2010  |  SQL Server 2008

Gaia81 Profilo | Newbie

Salve a tutti! cercando soluzioni in rete, sono capitata su questo forum e ho deciso di iscrivermi! Spero di trovare aiuti e conoscenze essendo io nuova dell'ambiente vb & Co.!

La mia domanda è questa: ho un semplicissimo form per inserire nuovi record in una tabella. vorrei sapere come fare a dirgli che se entrambe le colonne nome e cognome hanno già la coppia di record che si sta cercando di inserire, lui non deve inserire nulla e darmi un errore o un alert da qualche parte nella pagina di inserimento.

grazie per l'aiuto!

nico839 Profilo | Senior Member

ciao, così su due piedi, due soluzioni che mi vengono in mente sono :
- potresti mettere una chiave univoca sul db e leggere l'errore in un try catch
oppure
- fare una select preventiva prima dell'insert e vedere se ti ritorna qualcosa, in quel caso mandi indietro l'errore

Ciao.
Nicolas

http://perledinico.blogspot.com

Gaia81 Profilo | Newbie

si.. la soluzione più semplice è quella di inserire una colonna univoca a parte l'id (che non veniva inserito nel form ma incrementato da solo, quindi non vedeva che la riga era doppia!)

nico839 Profilo | Senior Member

non devi inserire nessuna colonna, devi solo mettere un indice univoco sulla coppia delle colonne da testare : http://msdn.microsoft.com/it-it/library/ms175132(v=sql.90).aspx

qui spiega come fare:
http://msdn.microsoft.com/it-it/library/ms187019.aspx


Ciao.
Nicolas

http://perledinico.blogspot.com

alx_81 Profilo | Guru

>non devi inserire nessuna colonna, devi solo mettere un indice
>univoco sulla coppia delle colonne da testare : http://msdn.microsoft.com/it-it/library/ms175132(v=sql.90).aspx
Ciao,
aggiungo che quello che serve a te è un constraint, ovvero un vincolo. Eccoti la guida online per crearne e per capire questo tipo di constraint:
http://msdn.microsoft.com/it-it/library/ms187550
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.microsoft.com/profiles/Alessandro.Alpi
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-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5