Questo è il fuori tema più bello che potevo scrivere e con tale post, che vorrei ringranziare Luca Bianchi http://community.ugiss.org/blogs/lbianchi/default.aspx che oltre ad essere un grandissimo esperto del database Sql Server, è anche un uomo molto buono, lo definisco un angelo.
Ieri, ero molto triste per il lavoro, dopo una notizia, poco piacevole, mi sono detto, che giornata di mer... pultroppo si sa, il mondo del lavoro è questo, c'è gente che si venderebbe anche la propria anima, o la moglie e la madre pur di fare qualche soldo in più, in fondo sono le regole del finto business (come le chiamo io). Ma l'amarezza più grande e che mi ero fidato di una persona, non mi aspettavo ciò, ma come dice Raffaele, attento a non cadere nella trappola, e così è capitato :-(((.
Dispiaciuto, scrivo un email (a volte, quando sono triste o felice, condivido tali sentimenti (via email, messanger) con i miei amici ) al mio amico Luca, tra il dispiacere ed il consiglio sulla digitale, il caro Luca, mi risponde, dicendomi, "stasera ti mando un email che ti farà felice". Tra me e me, penso, cosa ????.
L'email, che mi arriva, non è bella, è super bellissima, un bellissimo regalo di natale (anche se mancano tre mesi) che più bello non potrei ricevere, sono due anni, che la desidero, ed ora, eccola qua. Ti devo fare una statua, quasi quasi, vado al Gianicolo, e ti faccio una bella statua, sei davvero fantastico.
L'email che ricevo, mi fai dimenticatare il dispiacere, l'arrabiatura passa, insomma, oggi vedo il mondo tutto colorato, gli uccellini cinguettare, sono felicissimo, e penso tra me e me, ora mi occorre un nuovo pc (almeno 4 gb di ram) per provare questi nuovi prodotti. E non vi preoccupate, che continuerò a scrivere, articoli, trucchi e notizie, anzi, ora come ora. con questi strumenti, il mio contributo per il web, sarà maggiore, divulgherò di più il sapere, la conoscenza sulla tecnologia Microsoft. In fondo, come ho sempre detto, mi servono solo per fare delle prove, per scrivere articoli e trucchi, e non per scopi personali o altre attività.
Sono davvero felice, e considero Luca, un grandissimo uomo, una persona speciale, ha sempre dimostrato di essere un uomo, con tantissime qualità, una persona che tecnicamente è bravissimo, e che è umanamente grande, insomma un ragazzo, molto buono, generoso, davvero un angelo, e chissà se non è lui il babbo natale? Come detto al telefono (ti avrei voluto chiamare io, comunque altro che caffè, tutto il bar :-))) ) se eri donna, ti avrei sposato subito.
Che posso dirvi, se un giorno, vi capita di incontrare Luca, o state al bar, e vi rendete conto che vicino c'è Luca, avvicinatevi e stringetegli la mano, perchè una persona così speciale, non si trova facilmente, è un grande uomo.
Grazie Luca, per me tu sei un grande esempio, per tutta l'umanità, grazie di cuore, sei un vero amico, e proprio vero quel detto, che chi trova un amico trova un tesoro, queste sono le gioie della vita, persone vere e buone.
Grazie, con affetto e vera amicizia il tuo amico Emanuele, ti vorrò sempre bene (come amico, non vi preoccupate non ho cambiato gusti, a me interessano solo le donne ;-) ).
Da qualche giorno è uscito il nuovo Sql Server 2008, di seguito si riportano alcuni utili siti, dove poter scaricare una versione di valutazione (trial) per un periodo limitato.
Per maggiori informazioni e download visitate i siti indicati
Microsoft® SQL Server 2008 Express
http://www.microsoft.com/downloads/details.aspx?FamilyID=58ce885d-508b-45c8-9fd3-118edd8e6fff&DisplayLang=it
Microsoft® SQL Server 2008 Enterprise Evaluation: versione di valutazione per sviluppatori
http://www.microsoft.com/downloads/details.aspx?FamilyID=6b10c7c1-4f97-42c4-9362-58d4d088cd38&DisplayLang=it
Microsoft® SQL Server 2008 Enterprise Evaluation: versione di valutazione per professionisti IT
http://www.microsoft.com/downloads/details.aspx?FamilyID=265f08bc-1874-4c81-83d8-0d48dbce6297&DisplayLang=it
Documentazione in linea di Microsoft SQL Server 2008
http://www.microsoft.com/downloads/details.aspx?FamilyID=765433f7-0983-4d7a-b628-0a98145bcb97&DisplayLang=it
Per il sito http://www.iprogrammatori.it/articoli/programmazione/pagina-datagridview-con-vbnet.asp ho scritto un articolo riguardante la possibilità di rendere il controllo Datagridview con la paginazione, in ambiente Windows Application.
.png)
Figura 1
In questo articolo, vedremo come effettuare la paginazione di un datagridview, tramite i pulsanti ci si può spostare al record precedente, successivo, primo ed ultimo.
In una form, inseriamo un controllo datagridview, tre label, due caselle di testo e cinque pulsanti, la form deve avere un aspetto simile alla figura 1.
La casella di testo, relativa al record per la pagina, avrà il compito di visualizzare il numero dei record nel datagridview, mentre la casella di testo denominata posizione, indicherà la posizione in cui ci si trova.
Il database utilizzato è Microsoft Access, ma questa tecnica si può utilizzare con qualsiasi database, il database utilizzato è quello di Esempio di Microsoft, ossia Northwind.mdb e quindi utilizzeremo le classi del namespace system.data.oledb.
Stesura del codice
Dopo aver completato la parte grafica della form, non ci resta che scrivere il relativo codice.
Si creano delle nseriamo delle variabili a livello di classe, le quali ci permettono di avere le informazioni relativi al record attuale, al totale dei record, alla pagina corrente ed un datatable, con i relativi cati.
Di seguito si riporta il codice di tale operazione:
VB.Net
'Variabili locali per la gestione della paginazione
Private PaginaCorrente As Integer
Private dttDati As DataTable
Private TotalePagine As Integer
Private RecordAttuale As Integer
C#
//Variabili locali per la gestione della paginazione
private Int32 PaginaCorrente;
private DataTable dttDati;
private Int32 TotalePagine;
private Int32 RecordAttuale;
Fatto ciò, si crea una funzione, che permetta il caricamento dei dati nel controllo DatagridView.
Di seguito si riporta tale funzione.
La funzione CaricaDati, verrà richiamata non solo dal pulsante Carica, ma anche dagli altri pulsanti di spostamento.
Qui di seguito si riporta il frammento del codice relativo al pulsante carica.
VB.Net
''' <summary>
''' Funzione per il carimento dei dati
''' </summary>
''' <remarks></remarks>
Private Sub CaricaDati()
Dim conta As Integer
Dim RecordInziale As Integer
Dim RecordFinale As Integer
'DataTable temporaneo
Dim dttTemp As DataTable
'Record per pagina
Dim RecordPerPagina As Integer
'Totale record
Dim TotaleRecord As Integer
RecordPerPagina =
CType(TxtRecordPerPagina.Text, Integer)
'rilevo il totale dei record
TotaleRecord = dttDati.Rows.Count
'Copio i dati in un dataTable temporaneo
dttTemp = dttDati.Clone
'rilevo il record finale
If PaginaCorrente = TotalePagine Then
RecordFinale = TotaleRecord
Else
RecordFinale = RecordPerPagina * PaginaCorrente
End If
'rilevo il recordo iniziale
RecordInziale = RecordAttuale
'importo (copio) i record che dovrò visualizzare dal range composto dal record iniziale al record finale
For conta = RecordInziale To RecordFinale - 1
dttTemp.ImportRow(dttDati.Rows(conta))
RecordAttuale = RecordAttuale + 1
Next
'carico la griglia e visualizzare la posizione
DtgDati.DataSource = dttTemp
txtPosizione.Text =
"Pagina " & PaginaCorrente.ToString() & "/" & TotalePagine.ToString()
End Sub
C#
/// <summary>
/// Funzione per il carimento dei dati
/// </summary>
private void CaricaDati()
{
Int32 RecordInziale;
Int32 RecordFinale;
//DataTable temporaneo
DataTable dttTemp;
//Record per pagina
Int32 RecordPerPagina;
//Totale record
Int32 TotaleRecord;
RecordPerPagina =
Convert.ToInt32(TxtRecordPerPagina.Text);
//rilevo il totale dei record
TotaleRecord = dttDati.Rows.Count;
//Copio i dati in un dataTable temporaneo
dttTemp = dttDati.Clone();
//rilevo il record finale
if (PaginaCorrente == TotalePagine)
RecordFinale = TotaleRecord;
else
RecordFinale = RecordPerPagina * PaginaCorrente;
//rilevo il recordo iniziale
RecordInziale = RecordAttuale;
//importo (copio) i record che dovrò visualizzare dal range composto dal record iniziale al record finale
for (int conta = RecordInziale; conta < RecordFinale; conta++)
{
dttTemp.ImportRow(dttDati.Rows[conta]);
RecordAttuale = RecordAttuale + 1;
}
//carico la griglia e visualizzare la posizione
DtgDati.DataSource = dttTemp;
txtPosizione.Text =
"Pagina " + PaginaCorrente.ToString() + "/" + TotalePagine.ToString();
}
Il pulsante carica, avrà il compito di caricare per la prima volta il datagridview e valorizzare le variabili.
VB.Net
Private
Sub BtnCarica_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCarica.Click
'connessione
Dim conDati As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\Northwind.mdb")
'oggetto per la query
Dim daDati As New OleDbDataAdapter("select * from customers", conDati)
Dim dtsDati As New DataSet()
'Carico il dataset
daDati.Fill(dtsDati,
"customers")
'Gestione delle pagine
dttDati = dtsDati.Tables(
"customers")
TotalePagine = dttDati.Rows.Count /
CType(TxtRecordPerPagina.Text, Integer)
If (dttDati.Rows.Count Mod CType(TxtRecordPerPagina.Text, Integer)) > 0 Then
TotalePagine = TotalePagine + 1
End If
'Imposto le variabile per la paginazione
PaginaCorrente = 1
RecordAttuale = 0
'Carico i dati
CaricaDati()
End Sub
C#
private void BtnCarica_Click(object sender, EventArgs e)
{
//connessione
OleDbConnection conDati = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\\Northwind.mdb");
//oggetto per la query
OleDbDataAdapter daDati = new OleDbDataAdapter("select * from customers", conDati);
DataSet dtsDati = new DataSet();
//Carico il dataset
daDati.Fill(dtsDati,
"customers");
//Gestione delle agpine
dttDati = dtsDati.Tables[
"customers"];
TotalePagine = dttDati.Rows.Count /
Convert.ToInt32(TxtRecordPerPagina.Text);
if (dttDati.Rows.Count % Convert.ToInt32(TxtRecordPerPagina.Text) > 0)
TotalePagine = TotalePagine + 1;
//Imposto le variabile per la paginazione
PaginaCorrente = 1;
RecordAttuale = 0;
//Carico i dati
CaricaDati();
}
Ora non ci resta che impostare il codice dei vari pulsanti.
Di seguito si riporta il codice per quanto concerne il pulsante che ci riporta ai primi record, il pulsante primo, avrà il compito di portarci alla prima pagina della nostra paginazione.
Terminata questa operazione, vediamo il codice per il pulsante ultimo, ossia per la fine dei record
VB.Net
Private Sub btnPrimo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrimo.Click
PaginaCorrente = 1
RecordAttuale = 0
CaricaDati()
End Sub
C#
private
void btnPrimo_Click(object sender, EventArgs e)
{
PaginaCorrente = 1;
RecordAttuale = 0;
CaricaDati();
}
Terminata questa operazione, vediamo il codice per il pulsante ultimo, ossia per la visualizzazione degli ultimi record, della nostra paginazione.
VB.Net
Private Sub btnUltimo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUltimo.Click
PaginaCorrente = TotalePagine
RecordAttuale = dttDati.Rows.Count - 1
CaricaDati()
End Sub
C#
private void btnUltimo_Click(object sender, EventArgs e)
{
PaginaCorrente = TotalePagine;
RecordAttuale = dttDati.Rows.Count - 1;
CaricaDati();
}
Ora non ci resta che valorizzare i pulsanti precedente e successivo, questi pulsanti hanno il compito di spostarci alla "pagina" precedente o successiva.
Di seguito si riporta il codice per il pulsante precedente.
VB.Net
Private Sub btnPrecedente_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrecedente.Click
PaginaCorrente -= 1
If PaginaCorrente < 1 Then
PaginaCorrente = 1
Return
End If
RecordAttuale =
CType(TxtRecordPerPagina.Text, Integer) * (PaginaCorrente - 1)
CaricaDati()
End Sub
C#
private void btnPrecedente_Click(object sender, EventArgs e)
{
PaginaCorrente -= 1;
if (PaginaCorrente < 1)
{
PaginaCorrente = 1;
return;
}
RecordAttuale =
Convert.ToInt32(TxtRecordPerPagina.Text) * (PaginaCorrente - 1);
CaricaDati();
}
Mentre qui di seguito viene riportato il frammento di codice per il pulsante successivo:
VB.Net
Private Sub BtnSuccessivo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSuccessivo.Click
If TotalePagine = 0 Then
MessageBox.Show(
"Impostare la dimensione della pagina e verificare i dati")
Return
End If
PaginaCorrente += 1
If PaginaCorrente > TotalePagine Then
PaginaCorrente = TotalePagine
If RecordAttuale = dttDati.Rows.Count Then
Return
End If
End If
CaricaDati()
End Sub
C#
private
void BtnSuccessivo_Click(object sender, EventArgs e)
{
if (TotalePagine == 0)
{
MessageBox.Show("Impostare la dimensione della pagina e verificare i dati");
return;
}
PaginaCorrente += 1;
if (PaginaCorrente > TotalePagine)
{
PaginaCorrente = TotalePagine;
if (RecordAttuale == dttDati.Rows.Count)
return;
}
CaricaDati();
}
Conclusioni:
Ora non ci resta che testare l'applicazioni, dopo aver verificato la correttezza del codice ed aver posizionato il database access di esempio, in C:\ (modificare la stringa relativa alla proprietà connectionstring per impstare un altro percorso) avviate il programma.
Vedremo la griglia vuota, tramite il pulsante carica (ricrordarsi di impostare la casella di testo con il numero degli elementi da visualizzare) vedremo la griglia valorizzata e tramite i pulsanti, ci spostiamo tra i vari record.
Tramite la parola download è possibile scaricare il file di esempio:
Download

Eccomi qua, questi sono i fuori tema, che adoro scrivere :-)))) e già, è arrivato il magico momento, quello di prepare la borsa (quella che usavo per giocare a calcio :-))) ) ed immegermi nelle meritate vacanze.
Tempo qualche giorno, di sistemare il tutto e via, si parte per il mare Calabrese, non vedo l'ora di buttarmi in acqua, dopo l'afa ed il caldo romano, tra computer, spostamenti stressanti ed altro, è arrivato il momento di staccare la spina.
Già, per un pò di tempo, fuori dalla tecnologia, niente pc, cellulari, televisori, dvd ed altro, a solo contatto con la natura. Be veramente qualcosa di tecnologico mi porta, cosa? ma la mia digitale, per importale, bei momenti (almeno spero ;-) ).
Oggi come oggi, sento fortemente il desiderio, di starmene al mare, disteso sulla sabbia, nuotare in mezzo al mare, la corsa mattutina, le abbuffate di cibo a base di pesce, dolci, ed il vedere il mare sorseggiando il chinotto.
Costume e telo sono già pronti, manca ciambella, racchettoni e materassino, e via...
La mia attività di blogger, informatore ;-)) riprenderà a settembre, con nuovi articoli, trucchi, esempi di codice, recensioni e notizie, quindi ... arriverdi a settembre e buone vacanze a tutti.
E come una vecchia canzone .... mare mare ma che voglia di arrivare (anche se io dicevo un altra parola :-))) ) oppure tutti al mare a mostra le ... :-)))
Divertitevi e sopratutto godetevi il piacere della vita, che la sua bellezza sta anche nel vedere un una barca a vela all'orizzonte ;-).
Da questo sito http://technet.microsoft.com/it-it/bb851664.aspx potete scaricare la versione di Sql server 2008 (in diverse lingue, tra cui italiano) per una valutazio del prodotto.
Per maggiori informazioni e download, visitate la pagina indicata.
Visto l'avvicinarsi del rilascio del nuovo Database Sql server 2008, vi segnalo un nuovo aggiornamento.
Da questa pagina http://www.microsoft.com/downloads/details.aspx?FamilyID=089a9dad-e2df-43e9-9cd8-c06320520b40&DisplayLang=it è possibile scaricare la feature pack di di Microsoft SQL Server 2008, i quali permettono di aggiungere funzionalità al db sql server 2008.
Da qualche mese (settembre 2007) partecipo ad una grandissimo e simpaticissima comunità, si chiama community credit http://www.community-credit.com/default.aspx .
In questa comunità, è possibile partecipare (previa registrazione gratuita ) ed eventualmente vincere dei simpatici premi (vedere qui http://www.community-credit.com/CommunityCreditPrizePage.aspx )
Ogni mese, vengono messi in palio circa 16 premi (in questo mese ben 18) riguardanti simpatici oggetti da utilizzare tramite porta usb, o altri gadget molto simpatici.
In base al punteggio ottenuto se ci si può qualificare tra i primi posti, e nel caso si vince, in base alla posizione ottenuta, per i prossimi tre mesi, si viene curvati, ossia il punteggio verrà dimezzato di una certa percentuale (fino al 95% per il primo).
Come si partecipa, è molto semplice, chiunque ha un blog o un sito, o partecipa a qualche comunità, in base ai propri contenuti (articoli, trucchi, notizie, frammenti di codice, risposte nei forum o newsgroup, recension, ecc) viene assegnato un certo punteggio, in base alla categoria.
Per esempio, se una persona scrive un esempio di codice in Ado.net 2.0 (VB.Net o c#, è indifferente) gli viene attributo un punteggio per la categoria esempio di codice, mentre per un articolo (lungo o corto) per esempio su Sql server, un altro punteggio, oppure un frammento di codice (per esempio un istruzione sql) gli viene assegnato un altro punteggio. Alla fine del mese, se il totale dei punti è tra i più alti, si vince il premio per quel mese e per la posizione ottenuta.
Il materiale può essere in qualsiasi lingua, italiano, inglese, ecc. Una volta scritto il proprio articolo (per esempio in lingua italiana) si effettua il login nel sito di community credit, e nel proprio profilo, si effettua la segnalazione del link in cui è stato pubblicato l'articolo (come detto va bene qualsiasi lingua) . Il responsabile del sito, provvederà a validarlo ed assegnargli il punteggio.
Il bello di questa comunità, non è solo per il fatto dei premi, ma anche quella di confrontarsi con circa 9000 persone di tutto il mondo, tutte con un unico scopo e tutti con la stessa passione. Gente, da tutto il mondo, Francesi, Cinesi, Tedeschi, Americani, ecc. Non solo, ma anche delle persone molto brave, tra cui anche MVP, un ottimo posto, dove ci si può confrontare e sopratutto mettersi in discussione.
L'ideatore di questa comunità e David Silverlight, un ragazzo molto bravo ed in gamba, lo reputo un grandissimo uomo, un vero guru, non solo per l'elevata prepazione tecnica che ha, ma anche per la sua creatività (una fantastica idea) e disponibilità, un ragazzo molto gentile ed educato. Insomma un vero guru, un grandissimo uomo.
Devo ammettere, che da quando ci partecipo (ho già vinto tre premi :-)))) mi ha molto invogliato nello scrivere articoli e post, questa comunità invoglia a partecipare attivamente alle comunità, e senza che ci si rende conto, con il tempo si accresce la propria conoscenza in materia di .Net o altra tecnologia (SQl server, per esempio)
Ho notato con piacere, come molti italiani, partecipano a questa comunità, e come alcuni di loro hanno vinto, davvero bello vedere il nostro tricolore nella classifica dei grandi gladiatori ;-)))).
Allora cosa aspetti? partecipa ed entra a far parte di questa comunità, la grande arena ti aspetta, su, il divertimento è assicurato ;-))).
Che dirvi... buona partecipazione, ;-)))))
Di seguito si riporta lo script di Sql Server, per rilevare la versione, il service pack installato e l'edizione della versione di Sql (enterprise, standard, ecc).
SELECT SERVERPROPERTY('productversion'), SERVERPROPERTY ('productlevel'), SERVERPROPERTY ('edition')
In Sql Server 2000 nella creazione di funzioni personalizzate, non si può utilizzare la funzione di sistema GETDATE().
Per utilizzarla, si può creare una vista, da richiamare nella funzione personalizzata di Sql SErver 2000.
Di seguito si riporta la query della vista.
SELECT GETDATE() AS DATAODIERNA
Oggi vi segnalo un buon sito, riguardante il database Sql Server.
In questo sito http://www.sqlcommunity.com/ trovere una vera e viva comunità, con articoli, trucchi e tanto altro materiale sul Database Microsft Sql Server.
Oggi vi segnalo un altro interessante e nuovo sito riguardante l'utilizzo di Sql server.
Il sito http://www.sql-server-performance.com/index.aspx contiene numerosi articoli e trucchi riguardante il database Sql Server, ma non solo, anche altro materiale, il sito è strutturato in modo ottimale, da permettere una buona navigazione.
Che dirvi.. buona navigazione :-)))
Oggi, vi segnalo un altro sito, che tratta l'argomento dei database, da questo sito http://www.sqlskills.com si trovano articoli, trucchi e blog, riguardante il databse Sql Server.
Eccomi qua, fresco fresco a scrivere il post del grande evento. E' già perchè oggi 12 marzo 2008 a Roma si è svolto un evento gratuito Microsoft relativo ai nuovi prodotti per sviluppatori. Un evento in cui hanno partecipato molte ma molte persone e sono contento di aver rivisto amici ed ex colleghi, e mi ha fatto piacere conoscere nuovi volti come Pietro Brambati e Davide Mauri. Sono molto contento di aver rivisto RoB, il principe del mobile (e come dice Davide, non è solo bravo in ambito mobile) e di aver fatto due chiacchiere, peccato per il poco tempo, come anche il poco tempo dedicato ad altri amici :-(((. Ho rivisto anche il mito Luca Bianchi, peccato per il poco tempo :-((((.
Ho scattato qualche foto(memorabile quella con il mio ex pm dietro a me :-)))) ), che trovate nella sezione Evento lancio 2008 http://blog.shareoffice.it/emanuele/gallery/169.aspx, alcune non sono venute bene (A Stefano... mi è venuta male, e la batteria :-((( ) , ma sono molto simpatiche, certo mi avrebbe fatto piacere fare altra foto ma così non è stato possibile.
L'evento è stato organizzato in due sessioni, quella per sviluppatori(che ho seguito) e quella sistemistica, interessante vedere le nuove potenzialità che offre il nuovo ambiente di sviluppo, come nel fare il debug del codice javascript e le finestre per la gestione dei file css e la visualizzazione contemporanea del codice e design. Interessante le novità del Framework (Workflow e Linq), complimenti ai speacker, davvero un ottimo modo di condurre la sessione.
L'evento si è concluso intorno alle 18.00, illustrando il nuovo VSTO e la programmazione Office. Terminata, ci si reca a ritirare il kit, che molti sono venuti per quello :-))) e così, un bel omaggio, versione standard di Visual studio 2008, versione di Windows Server 2008 (durata un anno) e ctp di Sql server 2008 oltre al resource kit.
Ma l'evento non finiva qui, con la sessione di VSTO, chi era interessato, poteva fermarsi a seguire il dopo evento, organizzato dalla comunità aspitalia, anch'esso gratuito, ed interessante, sopratutto per gli argomenti trattati.
Ma di cose da raccontare c'è ne sono, ma visto l'ora e la stanchezza (12 ore di conferenza) mi fermo qua, un consiglio a tutti, la prossima volta che c'è un evento simile, partecipate, per vari motivi, non solo si conoscono nuove persone e nuove ragazze :-))) ma per l'argomento trattato e ... i regalini :-)))).
Nota negativa è il pranzo, non tanto per il rancio :-((( ma quanto per la gestione (sono andato in ben tre banchi, e sempre mancavano le buste del rancio :-(( ), non mi è proprio piaciuto, cattiva gestione, giusto ciò. Ma del resto l'evento è stato molto bello.
Grazie a Microsoft per questo splendido evento e speriamo in un altro, magari con più amici, anche di altre comunità.
Alla prossima e che dirvi..... buona notte :-))).
Supponiamo che vogliamo rilevare il numero totale dei singoli campi che hanno valori uguali.
Di seguito si riporta la struttura dati della tabella di esempio
Tab: Anagrafica:id int not null
Descrizione varchar(50) Checked
Di seguito si riportano i valori di tale tabella:
ID Descrizione
| 1 |
Alfa |
|
| 2 |
Beta |
|
| 3 |
Gamma |
|
| 4 |
Zeta |
|
| 5 |
Alfa |
|
| 6 |
Gamma |
|
| 7 |
Gamma |
|
| 8 |
Beta |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
L’istruzione sql sarà la seguente
SELECT Descrizione, COUNT(Descrizione) AS totaliFROM AnagraficaGROUP BY Descrizione
HAVING (COUNT(Descrizione) > 0)Con il seguente valore
| Alfa |
2 |
| Beta |
2 |
| Gamma |
3 |
| Zeta |
1 |
Oggi vi segnalo questo editor http://www.linqpad.net/ riguardante la nuova tecnologia. Net. In particolare tale strumento, che non necessita di installazione, permette di creare ed eseguire le query per Linq.
Il programma si può scaricare gratuitamente dal seguente sito http://www.linqpad.net/
More Posts
Next page »