venerdì, febbraio 16, 2007

Global knoledge resources

Un link con un sacco di info a proposito di un sacco di cose (sempre IT, ovviamente)

SQL: @@IDENTITY, forse abusata

Sapevate che @@IDENTITY ha delle sorelle meno conosciute, ma a volte più utili della stessa?
Ebbene si: esistono SCOPE_IDENTITY() e IDENT_CURRENT('table_name').

Valutate bene quando usarle...

Alcuni link in proposito:

Grazie Maxmost

mercoledì, febbraio 14, 2007

SQL: Table variables vs. Temporary table

Table Variables.... io non le avevo mai usate, ma adesso, nei giusti casi... le userò di certo:

T-SQL: Cursori in output

Mi sono trovato a dover scrivere sta robba e ne è venuta fuori un utile procedura per l'esecuzione di comandi SQL dinamici (supporta anche parametrizzazione).
Può essere un punto di partenza per cosine più complesse.

CREATE PROCEDURE dbo.GenericCursor
@genericCursor CURSOR VARYING OUTPUT
, @CMD Nvarchar(1024)
AS
BEGIN
DECLARE @CMDx Nvarchar(1024);
SET @CMDx = 'SET @genericCursor = CURSOR FORWARD_ONLY STATIC FOR ' + @CMD + '; OPEN @genericCursor;'
exec sp_executesql @CMDx,
N'@genericCursor cursor output',
@genericCursor out
END



CREATE PROCEDURE testGenericCursor
AS
BEGIN
DECLARE @MyCursor CURSOR;
DECLARE @name as varchar(100);
DECLARE @CMDx Nvarchar(1024);
SET @CMDx = 'SELECT TOP 50 name FROM dbo.sysobjects;'
EXEC dbo.GenericCursor @MyCursor OUTPUT, @CMDx;
FETCH NEXT FROM @MyCursor INTO @name;
WHILE (@@FETCH_STATUS = 0)
BEGIN;
FETCH NEXT FROM @MyCursor INTO @name;
SELECT @name
END
CLOSE @MyCursor
DEALLOCATE @MyCursor
END


EXEC dbo.testGenericCursor

martedì, febbraio 13, 2007

Expresso: Regular Expression

Un buon tool per l'uso e abuso delle RegExp è secondo me Expresso:

In generale sulle Regular Expressions:

Percorsi formativi in .NET

Una serie di utili links a guide sul percorso formativo in ambito .NET

L'architetto del software

Una nostra vecchia conoscenza del corso MCSD spiga in questo racconto chi è l'architetto nel mondo del software.
Simpatico.

NHibernate: Hibernate per .NET

NHibernate è un porting del nucleo di Hibernate per Java sul framework di .NET.
Gestisce la persistenza degli oggetti in .NET su una base di dati relazionale.
Data una descrizione XML delle entità e relazioni, NHibernate genera automaticamente il codice SQL per caricamento e memorizzazione degli oggetti.
Facoltativamente, si può descrivere i meta dati di tracciato con gli attributi nel codice sorgente.

lunedì, febbraio 12, 2007

C# ereditarietà multipla

Per aggirare la single inheritance (ereditarietà da una sola classe base, ma da n interfacce) sono possibili alcune vie in C# 2.0, più o meno semplici... vediamo come: