>>- Creazione di stored su db sql
>questo è buono se usi sempre lo stesso db server, sql nella fattispecie
>immagino .
>concordo con questo livello di astrazione. Ricordati sempre però
>che se devi cambiare db un sql non standard ti obbliga a rifattorizzare
>il tutto.. Ma è una possibilità rara e poi le stored procedure
>ti consentono una gestione della sicurezza di molto migliore
>ed infine, ma non per importanza, riducono il traffico di rete
>sulla chiamata (la stringa passata è più piccola spesso) e l'ottimizzazione
>sui piani di esecuzione che sql usa prendendoli dalla cache.
>
>>- Creazione di property al cui interno creo gli oggetti get....set
>dove?
In questo senso per esempio:
Imports System.Collections
Public Class PropertyAlb
Private codalb, codcomune As Integer
Private desc As String
Public Property CodiceAlbergo() As Integer
Get
Return codalb
End Get
Set(ByVal value As Integer)
codalb = value
End Set
End Property
Public Property CodiceComune() As Integer
Get
Return codcomune
End Get
Set(ByVal value As Integer)
codcomune = value
End Set
End Property
Public Property Descrizione() As String
Get
Return desc
End Get
Set(ByVal value As String)
desc = value
End Set
End Property
End Class
Public Class AlbCollection
Inherits CollectionBase
' Aggiunge l'oggetto alla collection
Public Sub Add(ByVal item As PropertyAlb)
List.Add(item)
End Sub
' Ritorna l'n-esimo elemento
Public ReadOnly Property Item(ByVal index As Integer) As PropertyAlb
Get
Return CType(List(index), PropertyAlb)
End Get
End Property
End Class
Però sto leggendo un libro di vs2010 che la gestione del codice del Get...Set è migliorata pertanto devo riscriverla....
>>- Creazione di classi al cui interno vi sono le funzioni che richiamano le stored
>per me questo è il DAL
Data Access Layer?
ecco un esempio di classe che utilizzo:
Imports System.Data.SqlClient
Public Class GestoreAlb
Public Function CaricaRecord(ByVal ObjAlb As PropertyAlb) As PropertyAlb
Dim OAlb As PropertyAlb = New PropertyAlb
Try
SqlCmd.CommandText = "GetAlb_new"
SqlCmd.Parameters.Add("@CodAlb", SqlDbType.Int).Value = ObjAlb.CodiceAlbergo
SqlCmd.Parameters.Add("@Codcomune", SqlDbType.Int).Value = ObjAlb.CodiceComune
SqlCmd.Connection = db
SqlCmd.CommandType = CommandType.StoredProcedure
SqlDr = SqlCmd.ExecuteReader
If SqlDr.Read() Then
OAlb.Password = SqlDr.GetSqlString(22).Value
End If
Return OAlb
Catch ex As Exception
Throw ex
Finally
SqlDr.Close()
SqlCmd.Parameters.Clear()
SqlCmd.Dispose()
End Try
End Function
End Class()
Ovviamente ora devo riscriverlo con la using e con la nuova gestione delle transazioni
>>- Poi a livello di form richiamare le classi che mi servono e
>>riempirle con i valori derivanti da oggetti input (textbox ecc...)
>ti manca il livello biz, fai attenzione perchè se la medesima
>implementazione la dovrai fare sia su web che su windows che
>su un app per il cel rischi di dover replicare le logiche che
>hai "scolpito" nella form.
In che senso mi manca la parte Biz?
>Alessandro Alpi | SQL Server MVP
>MCP|MCITP|MCTS|MCT
>
>http://www.alessandroalpi.net
>http://blogs.dotnethell.it/suxstellino
>http://mvp.support.microsoft.com/profile/Alessandro.Alpi
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com