Ver Mensaje Individual
  #5 (permalink)  
Antiguo 01/04/2010, 15:02
merkslay
 
Fecha de Ingreso: noviembre-2006
Mensajes: 9
Antigüedad: 17 años, 6 meses
Puntos: 0
Respuesta: Ayuda crear un array sqlparameter vb net 2008

Cita:
Iniciado por Uialwen Ver Mensaje
Mmmm creo que ahora te entiendo mejor, pero el objeto hay que instanciarlo y no sé si todos los parámetros son del mismo tipo y que nombres les das en el procedimiento almacenado pero puedes intentar algo así si son del mismo tipo:


Public Sub Grabar()
Dim sarray() As String = {"p1", "p2", "p3", "p4", "p5", "p6", "p10"}
'Dim arrParams() As SqlParameter

conexion = conector.abrirconexion(servidor, baseDatos, seguridadIntegrada)
Dim comandoSQL As New SqlCommand (conexion)

comandoSQL.CommandType = Data.CommandType.StoredProcedure


Dim i As Integer = 0

For Each str As String In sarray

comandoSQL.Parameters.Add(String.Concat("@", "p", i), SqlDbType.NVarChar)
comandoSQL.Parameters(String.Concat("@", "p", i)).Value = str(i)

i += 1
Next

comandoSQL.ExecuteNonQuery()

conexion.Close()
End Sub

Saludos
siiii lo entendii gracias pero dos preguntas mas para terminar este temaa :

1) el "str" lo as declaro en el mimos feach cierto?
2)necesariamente tengo que darle tipo de variable al parametrooo?????' no podria mandarle slo su valor??

algo como asi :

Public Sub Grabar()
Dim sarray() As String = {"p1", "p2", "p3", "p4", "p5", "p6", "p10"}
'Dim arrParams() As SqlParameter

conexion = conector.abrirconexion(servidor, baseDatos, seguridadIntegrada)
Dim comandoSQL As New SqlCommand (conexion)

comandoSQL.CommandType = Data.CommandType.StoredProcedure


Dim i As Integer = 0

For Each str As String In sarray

comandoSQL.Parameters(String.Concat("@", "p", i)).Value = str(i)

i += 1
Next

comandoSQL.ExecuteNonQuery()

conexion.Close()
End Sub


guardar de frente el value sin declarar esto : " comandoSQL.Parameters.Add(String.Concat("@", "p", i), SqlDbType.NVarChar)
"
ya que mi procedimiento tiene entre variables varchar,integer ???? habria la posibilidad que las mande todas como varchar() y en la misma base de datos me valide o como puedo tratar esoo ?? porfaaa