Verificare presenza dei dati su un database

mercoledì 03 febbraio 2010 - 16.04

NetDev Profilo | Newbie

Ciao a tutti,
ho una semplice pagina aspx (vb.net) per la registrazione di utenti a un ipotetico sito.
Come faccio a verificare se il testo immesso in un campo di testo è già presente sul mio database (access)?
Pensavo di memorizzare il dato in un dataset ma, ammesso che sia la via più semplice, non so proprio andare avanti.

Grazie.

alx_81 Profilo | Guru

>Ciao a tutti,
Ciao

>Come faccio a verificare se il testo immesso in un campo di testo è già presente sul mio database (access)?
potresti semplicemente creare un indice univoco sul campodi cui vuoi gestire l'univocità. In questo modo, effettuando l'operazione di insert, se ci sono valori identici per la colonna otterrai un errore. Ti sarà sufficiente trapparlo con una semplice try catch per gestirlo con un messaggio all'utente.

>Grazie.
di nulla!
--

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

NetDev Profilo | Newbie

Intanto grazie per la risposta!

Intendi dire che basta definire il campo in questione come chiave primaria della mia tabella di database?

alx_81 Profilo | Guru

>Intendi dire che basta definire il campo in questione come chiave
>primaria della mia tabella di database?
Se puoi permetterti di farlo chiave primaria va benissimo, ma se ne hai già una diversa e composta da altri campi, puoi decidere di impostare un indice unique, senza che si tratti di chiave primaria. Ci sono lievi differenze, ma il comportamento è molto simile. Fondamentalmente la pk non ammette null, mentre lo unique, uno lo ammette

--

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

NetDev Profilo | Newbie

Ok, sono riuscito a impostare un indice univoco sulla colonna di una tabella Access e in effetti, provando a inserire un record già esistente, mi da un errore.
Ora la domanda è: come gestisco questo errore via codice?

Grazie

alx_81 Profilo | Guru

>Ok, sono riuscito a impostare un indice univoco sulla colonna
>di una tabella Access e in effetti, provando a inserire un record
>già esistente, mi da un errore.
>Ora la domanda è: come gestisco questo errore via codice?
devi trappare l'errore con VBA, e quindi usando la sintassi del Visual Basic For Application. Questo solo se usi access direttamente, altrimenti dipende da come accedi al database (ad esempio un sito web o qualche altro tipo di applicazione). Cosa utilizzi tu? Le form di access direttamente?
--

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

NetDev Profilo | Newbie

>devi trappare l'errore con VBA, e quindi usando la sintassi del
>Visual Basic For Application. Questo solo se usi access direttamente,
>altrimenti dipende da come accedi al database (ad esempio un
>sito web o qualche altro tipo di applicazione). Cosa utilizzi
>tu? Le form di access direttamente?

L'indice univoco l'ho definito direttamente su Access.
Per il resto, trattandosi di un sito, gestisco (o vorrei farlo!) tutto via code behind (pagina aspx.vb). Da li mi connetto al databse e, attraverso la INSERT, compilo la tabella attraverso textbox. Spero di aver risposto alla tua domanda!

alx_81 Profilo | Guru

>L'indice univoco l'ho definito direttamente su Access.
>Per il resto, trattandosi di un sito, gestisco (o vorrei farlo!)
>tutto via code behind (pagina aspx.vb). Da li mi connetto al
>databse e, attraverso la INSERT, compilo la tabella attraverso
>textbox. Spero di aver risposto alla tua domanda!
ok, quindi access è solo il database e non l'applicazione. Avendo VBNet, usa la Try Catch:

Istruzione Try..Catch, Finally statement
http://msdn.microsoft.com/it-it/library/fk6t46tz%28VS.80%29.aspx
--

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

NetDev Profilo | Newbie

Ci sono riuscito. Grazie mille per la disponibilità!
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