>Vorrei fare un 'confronto' tra i dati elaborati dal ciclo For
>Next e quelli contenuti nel db:
>
>nell'esempio dovrei stampare nella textbox
>
>3, 6, 12
>4, 8, 15
>
>ma non 1, 5, 10 ** perchè già presente nel db!
Per fare questo potresti agevolare enormemente le cose inserendo i dati generati dal tuo ciclo in una tabella (anche temporanea) e utilizzando il nuovo operatore EXCEPT:
USE tempdb;
CREATE TABLE dbo.Ciclo(
n1 int NOT NULL,
n2 int NOT NULL,
n3 int NOT NULL
);
CREATE TABLE dbo.Series(
n1 int NOT NULL,
n2 int NOT NULL,
n3 int NOT NULL
);
INSERT dbo.Ciclo VALUES(1, 5, 10);
INSERT dbo.Ciclo VALUES(3, 6, 12);
INSERT dbo.Ciclo VALUES(4, 8, 15);
INSERT dbo.Series VALUES(1, 2, 3);
INSERT dbo.Series VALUES(5, 6, 7);
INSERT dbo.Series VALUES(6, 8, 9);
INSERT dbo.Series VALUES(1, 5, 10);
SELECT *
FROM dbo.Ciclo
EXCEPT
SELECT *
FROM dbo.Series;
/* Output:
n1 n2 n3
----------- ----------- -----------
3 6 12
4 8 15
(2 row(s) affected)
*/
DROP TABLE dbo.Ciclo, dbo.Series;
Per maggiori informazioni, leggi il seguente paragrafo sui Books Online:
"EXCEPT and INTERSECT (Transact-SQL)"
http://msdn2.microsoft.com/en-us/library/ms188055.aspx
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org