Renato Haddad

MVP, Developer .NET and MS-Office, MCPD, MCTS

Declaração de parâmetros no VB.NET - ntier

Num desenvolvimento em camadas onde a camada de acesso a dados utiliza parâmetros, veja um código de como delarar quantos parâmetros forem necessários. Note que usei um Hahtable e, para ler os parâmetros usei o foreach com um DictionaryEntry. Isto permite receber uma coleção de parâmetros e adicioná-los ao Command.

Public Class CamadaDados

Dim conexao As String = "data source=MARTE; Initial Catalog=Northwind; Integrated Security=True"

Function GetData(ByVal sql As String, ByVal parametros As Hashtable) As DataTable

Try

Dim myTable As DataTable

Using conn As New SqlConnection(conexao)

Using cmd As New SqlCommand(sql, conn)

conn.Open()

' adicionar os parametros ao Command - chave / valor

For Each Item As DictionaryEntry In parametros

cmd.Parameters.AddWithValue(Item.Key.ToString(), Item.Value)

Next

Dim reader As SqlDataReader = cmd.ExecuteReader()myTable = New DataTable

myTable.Load(reader)

reader.Close()

conn.Close()

End Using

End Using

Return myTable

Catch ex As Exception

Throw ex

End Try

End Function

End Class

 Agora veja o código que irá consumir esta função, evitando a injeção de SQL. Note que declarei apenas 1 parâmetro, mas vc pode declarar diversos.

Dim sql As String = "Select * from Products Where CategoryID=@cat"

parametros.Add("@cat", 1)

DataGridView1.DataSource = objDados.GetData(sql, parametros)

Boa sorte nos códigos.

 

Comments

Twitter Trackbacks for Declara????o de par??metros no VB.NET - ntier - Renato Haddad [asp.net] on Topsy.com said:

Pingback from  Twitter Trackbacks for                 Declara????o de par??metros no VB.NET - ntier - Renato Haddad         [asp.net]        on Topsy.com

# September 15, 2009 3:38 PM
Leave a Comment

(required) 

(required) 

(optional)

(required)