Il mio Detaisviev
etailsView ID="dtl1" runat="server" AutoGenerateRows="False" DataKeyNames="IDXxxx" DataSourceID="ods1" AllowPaging="True" EnableViewState="False">
Ho letto, mi scuso ma non mi ricordo dove, che creare degli errori in SqlServer e poi gestirli non è buona programmazione.
E' vero che con la soluzione 1 faccio solo una chiamata al DB anzichè due, non volevo creare l'errore e gestirlo. Certamente la mia tabella ha il controllo sul valore e impedisce l'inserimento di duplicati.
Bene la SP del link
CREATE PROCEDURE dbo.FAQ_InsertRow
@email VARCHAR(32)
AS
BEGIN
SET NOCOUNT ON
IF EXISTS (SELECT 1 FROM blat WHERE email = @email)
RAISERROR('This value already exists.', 11, 1)
ELSE
INSERT blat(email) VALUES(@email)
END
GO
il problema si presenta anche con l'update, bisognerebbe modificare anche quella SP inserendo un Select per conoscere il vecchio valore, che è poi l'oggetto della richiesta.
Mi piaceva saper come risolvete voi il problema dei duplicati.
Per il momento ho risolto con la soluzione 3, con una label nascosta.
Saluti Roberto