Le avventure in VB.Net di un principiante ex-VB6 - 9

Questo è il companion post per l'articolo indicato nel titolo. Qui potete chiedere chiarimenti o scrivere critiche o suggerimenti. Nei limiti del possibile si cercherà di rispondere, qui o in successivi articoli.

(se non vedete l'editor per scrivere, a destra trovate 'Feedback', cliccateci su  e scrivete)

Print | posted @ domenica 19 luglio 2009 21.01

Comments on this entry:

Gravatar # re: Le avventure in VB.Net di un principiante ex-VB6 - 9
by Nonno Marcello at 21/07/2009 15.09

Ciao

(risposta anche in privato , e senza fretta, se volete)

Perchè usare l'automatismo del data adapter, invece di scrivere del codice che faccia la stessa cosa, più "gestibile", e in futuro adattabile anche a DB "fuori ordinanza" che MS non supporta? Sono io un inguaribile "malfidente" che preferisce avere "sotto controllo" tutto, o è stata solo una questione di "comodità"?

Ciao e grazie del vostro contributo

Gravatar # re: Le avventure in VB.Net di un principiante ex-VB6 - 9
by Diego at 11/08/2009 8.54

ERRATA CORRIGE:
Nei metodi CancellaRiga e Modificabile manca l'impostazione del valore di ritorno prima dei costrutti Catch

Try
...

Return True
Catch ...

In giornata verrà corretto l'articolo e il codice a corredo della puntata 9,
aggiunto un avviso nella puntata 10 e aggiornato il codice a coredo della puntata 10.

Spiacente per l'inconveniente.
Gravatar # re: Le avventure in VB.Net di un principiante ex-VB6 - 9
by Edoardo Casella at 27/08/2009 21.33

Utilizzare il seguente codice per recuperare lo schema della tabella comporta qualche problema?

Private Sub GetSchema(ByRef ad As SqlDataAdapter)
Using tblSchema As New DataTable
ad.FillSchema(tblSchema, SchemaType.Source)
For Each row As DataRow In tblSchema.Rows
_columnType.Add(row("ColumnName").ToString, CType(row("ProviderType"), SqlDbType))
Next
If Not tblSchema.PrimaryKey.Length = 0 Then
For Each col As DataColumn In tblSchema.PrimaryKey
_primaryKey.Add(col.ColumnName)
Next
End If
End Using
End Sub

Grazie
Gravatar # re: Le avventure in VB.Net di un principiante ex-VB6 - 9
by Diego per Edoardo at 31/08/2009 0.09

Ottimo consiglio, ti ho citato nella puntata numero 12.

Grazie del tuo contributo.
Gravatar # re: Le avventure in VB.Net di un principiante ex-VB6 - 9
by pasquale caraviello at 04/09/2009 10.07

in tutti i download manca la classe Tabella.
Poichè ho seguito, solamente in questa estate, tutte le puntate, ho seguito il consiglio di Diego e cioè di scrivere, per comprendere, il codice e quindi poi verificarlo; inoltre, negli articoli non sono riportati i metodi per spostarsi nel database.
Una ulteriore richiesta avrei da farVi: nel corso delle puntate non sempre è stato immediato comprendere in quale progetto andava inserita una determinata classe (risolta poi con la verifica del progetto scaricato in download): se non è particolarmente fastidioso, so potrebbe inserire in alto a sinistra, prima del codice, il nome del progetto.

Al momento ho riportato il codice di tutte le 11 puntate (visto che la 12 puntata non è da riportare) e nella classe DatiMasterDetails mi riporta per questa riga:
Dim valore As String = (rigaCorrente(relazioniDettaglio(indiceRelazioni).NomeCampoMaster).DataType.Name)
mi riporta l'errore: 'Option Strict On non consente l'associazione tardiva'

grazie per la cortesia e soprattutto per aver avuto il coraggio di scrivere questi articoli.
pasquale caraviello
Gravatar # re: Le avventure in VB.Net di un principiante ex-VB6 - 9
by Diego x Pasquale at 06/09/2009 9.53

La classe Tabella è nel file DatiMaster (mi sono dimenticato di specificare che il nome del file rimane quello originale). Oggi correggo.

L'altra osservazione riguarda la classe DatiMasterdetails (ti rispondo nel companion post per la puntata n.10)
Gravatar # re: Le avventure in VB.Net di un principiante ex-VB6 - 9
by plutino at 12/05/2011 16.24

Ma se volessi usare un id contatore come mi dovrei comportare ?

visto che l classe la chiave primaria devo per forza inserirla io ?

Gravatar # re: Le avventure in VB.Net di un principiante ex-VB6 - 9
by d.cattaruzza at 21/05/2011 8.44

Il codice è 'predisposto' per NON usare mai campi contatore.
Per usarne uno, devi scrivere altro codice che evita il passaggio della assegnazione del 'prossimo' valore di id. In pratica, devi scrivere tutti i campi TRANNE l'id, e poi, subito dopo la scrittura, rileggere l'ultimo record per farti restituire il valore... (secondo me non vale la pena, a prescindere dai vari altri problemi)
Comments have been closed on this topic.