2 parametros Para un Store Procedure

13/04/2005 - 18:10 por Rodia | Informe spam
Hola a todos, estoy programando y usando Store
Procedures, hasta el momento solo habia usado ningun
parametro o un parametro, pero hoy tengo que programar
con dos parametros, lo primero que hice fue crear dos
variables de tipo sqlparameter,les doy los valores a cada
parametro y loa agrego al data adapter

da.SelectCommand.Parameters.Add(param1)
da.SelectCommand.Parameters.Add(param2)

Pero aqui me manda un error
"Exepcion no controlada sqlexeption"

da.Fill(dsClientes, "CLIENTES")

Si alguien sabe como hacerle para poder enviar dos
parametros aqui dejo el codigo completo, para que me
digan donde esta el error o si me falata algo

Gracias


Public Sub BuscaClientesPorNombreYTipo(ByVal
CClientesNombre As Windows.Forms.DataGrid,
ByVal Nombre As String, ByVal Tipo As String)

Dim dsClientes As New DataSet
Dim da As New SqlClient.SqlDataAdapter
Dim param1 As New SqlClient.SqlParameter
("@NombreCliente", SqlDbType.VarChar = 255)
Dim param2 As New SqlClient.SqlParameter("@Tipo",
SqlDbType.VarChar = 6)

da.SelectCommand = New SqlClient.SqlCommand
da.SelectCommand.Connection = connCliente
da.SelectCommand.CommandType = CommandType.StoredProcedure
da.SelectCommand.CommandText = "ClienteNombreTipo"

param1.Direction = ParameterDirection.Input
param1.Value = Nombre
da.SelectCommand.Parameters.Add(param1)

param2.Direction = ParameterDirection.Input
param2.Value = Tipo
da.SelectCommand.Parameters.Add(param2)

da.Fill(dsClientes, "CLIENTES")

CClientesNombre.DataSource = dsClientes.Tables("CLIENTES")
End Sub

Preguntas similare

Leer las respuestas

#1 A.Poblacion
13/04/2005 - 21:57 | Informe spam
El único error que veo es que has puesto "=" donde tiene que ir una coma, al
crear los parámetros. La forma correcta es esta:

Dim param1 As New SqlClient.SqlParameter
("@NombreCliente", SqlDbType.VarChar, 255)
Dim param2 As New SqlClient.SqlParameter("@Tipo",
SqlDbType.VarChar, 6)



"Rodia" wrote in message
news:06a601c54043$4d1c8b70$
Hola a todos, estoy programando y usando Store
Procedures, hasta el momento solo habia usado ningun
parametro o un parametro, pero hoy tengo que programar
con dos parametros, lo primero que hice fue crear dos
variables de tipo sqlparameter,les doy los valores a cada
parametro y loa agrego al data adapter

da.SelectCommand.Parameters.Add(param1)
da.SelectCommand.Parameters.Add(param2)

Pero aqui me manda un error
"Exepcion no controlada sqlexeption"

da.Fill(dsClientes, "CLIENTES")

Si alguien sabe como hacerle para poder enviar dos
parametros aqui dejo el codigo completo, para que me
digan donde esta el error o si me falata algo

Gracias


Public Sub BuscaClientesPorNombreYTipo(ByVal
CClientesNombre As Windows.Forms.DataGrid,
ByVal Nombre As String, ByVal Tipo As String)

Dim dsClientes As New DataSet
Dim da As New SqlClient.SqlDataAdapter
Dim param1 As New SqlClient.SqlParameter
("@NombreCliente", SqlDbType.VarChar = 255)
Dim param2 As New SqlClient.SqlParameter("@Tipo",
SqlDbType.VarChar = 6)

da.SelectCommand = New SqlClient.SqlCommand
da.SelectCommand.Connection = connCliente
da.SelectCommand.CommandType = CommandType.StoredProcedure
da.SelectCommand.CommandText = "ClienteNombreTipo"

param1.Direction = ParameterDirection.Input
param1.Value = Nombre
da.SelectCommand.Parameters.Add(param1)

param2.Direction = ParameterDirection.Input
param2.Value = Tipo
da.SelectCommand.Parameters.Add(param2)

da.Fill(dsClientes, "CLIENTES")

CClientesNombre.DataSource = dsClientes.Tables("CLIENTES")
End Sub

Respuesta Responder a este mensaje
#2 Rodia
13/04/2005 - 22:20 | Informe spam
Gracias por poner atencion a mi mensaje y leerlo, pero
aun asi manda el error, con un parametro no he tenido
problemas pero con dos si y ya cheque el store procedure
con el query analizer y trabaja bien

El único error que veo es que has puesto "=" donde tiene


que ir una coma, al
crear los parámetros. La forma correcta es esta:

Dim param1 As New SqlClient.SqlParameter
("@NombreCliente", SqlDbType.VarChar, 255)
Dim param2 As New SqlClient.SqlParameter("@Tipo",
SqlDbType.VarChar, 6)



"Rodia" wrote in


message
news:06a601c54043$4d1c8b70$
Hola a todos, estoy programando y usando Store
Procedures, hasta el momento solo habia usado ningun
parametro o un parametro, pero hoy tengo que programar
con dos parametros, lo primero que hice fue crear dos
variables de tipo sqlparameter,les doy los valores a




cada
parametro y loa agrego al data adapter

da.SelectCommand.Parameters.Add(param1)
da.SelectCommand.Parameters.Add(param2)

Pero aqui me manda un error
"Exepcion no controlada sqlexeption"

da.Fill(dsClientes, "CLIENTES")

Si alguien sabe como hacerle para poder enviar dos
parametros aqui dejo el codigo completo, para que me
digan donde esta el error o si me falata algo

Gracias


Public Sub BuscaClientesPorNombreYTipo(ByVal
CClientesNombre As Windows.Forms.DataGrid,
ByVal Nombre As String, ByVal Tipo As String)

Dim dsClientes As New DataSet
Dim da As New SqlClient.SqlDataAdapter
Dim param1 As New SqlClient.SqlParameter
("@NombreCliente", SqlDbType.VarChar = 255)
Dim param2 As New SqlClient.SqlParameter("@Tipo",
SqlDbType.VarChar = 6)

da.SelectCommand = New SqlClient.SqlCommand
da.SelectCommand.Connection = connCliente
da.SelectCommand.CommandType =




CommandType.StoredProcedure
da.SelectCommand.CommandText = "ClienteNombreTipo"

param1.Direction = ParameterDirection.Input
param1.Value = Nombre
da.SelectCommand.Parameters.Add(param1)

param2.Direction = ParameterDirection.Input
param2.Value = Tipo
da.SelectCommand.Parameters.Add(param2)

da.Fill(dsClientes, "CLIENTES")

CClientesNombre.DataSource = dsClientes.Tables




("CLIENTES")
End Sub





.

Respuesta Responder a este mensaje
#3 Martin
14/04/2005 - 01:31 | Informe spam
Lo unico que veo mal es que pones = en lugar de , en la declaracion de los
parametros
Dim param2 As New SqlClient.SqlParameter("@Tipo",
SqlDbType.VarChar = 6), debe der ser
Dim param2 As New SqlClient.SqlParameter("@Tipo",
SqlDbType.VarChar , 6)
y tambien veo mal esta linea
da.SelectCommand = New SqlClient.SqlCommand
Pero en realidad nunca lo he probado asi. Pero mejor prueba con este codigo:
Dim dsClientes As New DataSet
Dim da As New SqlClient.SqlDataAdapter("ClienteNombreTipo",connCliente)
da.SelectCommand.CommandType = CommandType.StoredProcedure
da.SelectCommand.Parameters.Add(New
sqlParameter("@NombreCliente",sqldbtype.Nvarchar,255))
da.SelectCommand.Parameters("@NombreCliente").Value=Nombre
da.SelectCommand.Parameters.Add(New
sqlParameter("@Tipo",sqldbtype.Nvarchar,6))
da.SelectCommand.Parameters("@Tipo").Value=Tipo
Cuando los parametros son Input no es necesario que les pongas la direccion,
porque Input lo toma como un valor por default
da.Fill(dsClientes, "CLIENTES")
CClientesNombre.DataSource = dsClientes.Tables("CLIENTES")
Supongo que CClientesNombre es un DataGrid. Bueno espero que te sirva.

"Rodia" escribió:

Hola a todos, estoy programando y usando Store
Procedures, hasta el momento solo habia usado ningun
parametro o un parametro, pero hoy tengo que programar
con dos parametros, lo primero que hice fue crear dos
variables de tipo sqlparameter,les doy los valores a cada
parametro y loa agrego al data adapter

da.SelectCommand.Parameters.Add(param1)
da.SelectCommand.Parameters.Add(param2)

Pero aqui me manda un error
"Exepcion no controlada sqlexeption"

da.Fill(dsClientes, "CLIENTES")

Si alguien sabe como hacerle para poder enviar dos
parametros aqui dejo el codigo completo, para que me
digan donde esta el error o si me falata algo

Gracias


Public Sub BuscaClientesPorNombreYTipo(ByVal
CClientesNombre As Windows.Forms.DataGrid,
ByVal Nombre As String, ByVal Tipo As String)

Dim dsClientes As New DataSet
Dim da As New SqlClient.SqlDataAdapter
Dim param1 As New SqlClient.SqlParameter
("@NombreCliente", SqlDbType.VarChar = 255)
Dim param2 As New SqlClient.SqlParameter("@Tipo",
SqlDbType.VarChar = 6)

da.SelectCommand = New SqlClient.SqlCommand
da.SelectCommand.Connection = connCliente
da.SelectCommand.CommandType = CommandType.StoredProcedure
da.SelectCommand.CommandText = "ClienteNombreTipo"

param1.Direction = ParameterDirection.Input
param1.Value = Nombre
da.SelectCommand.Parameters.Add(param1)

param2.Direction = ParameterDirection.Input
param2.Value = Tipo
da.SelectCommand.Parameters.Add(param2)

da.Fill(dsClientes, "CLIENTES")

CClientesNombre.DataSource = dsClientes.Tables("CLIENTES")
End Sub


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida