Foros del Web » Programación para mayores de 30 ;) » .NET »

Duda VB 2010 .NET + SQL 2008

Estas en el tema de Duda VB 2010 .NET + SQL 2008 en el foro de .NET en Foros del Web. Hola nuevamente comunidad, a continuación les expreso mi problema con ambas plataformas. Tengo el siguiente código que manda llamar a un stored procedure de sql: ...
  #1 (permalink)  
Antiguo 14/09/2012, 09:28
 
Fecha de Ingreso: junio-2012
Mensajes: 90
Antigüedad: 11 años, 10 meses
Puntos: 2
Duda VB 2010 .NET + SQL 2008

Hola nuevamente comunidad, a continuación les expreso mi problema con ambas plataformas.


Tengo el siguiente código que manda llamar a un stored procedure de sql:

Código vb:
Ver original
  1. Dim dt As New DataTable
  2.  
  3.         Using cnn As New SqlConnection(cs)
  4.             Dim cmd As New SqlClient.SqlCommand("sortinginfo", cnn)
  5.             cmd.CommandType = CommandType.StoredProcedure
  6.             cmd.Parameters.AddWithValue("@id", cmbEmp.SelectedValue.ToString())
  7.             cmd.Parameters.AddWithValue("@cname", cmbEmp.Text.ToString())
  8.             Dim da As New SqlDataAdapter(cmd)
  9.             da.Fill(dt)
  10.             gridview1.DataSource = dt.DefaultView
  11.         End Using

Y el código del stored procedure:

Código SQL:
Ver original
  1. ALTER PROCEDURE [dbo].[sortinginfo]
  2.  
  3. AS
  4. BEGIN
  5.  
  6. DECLARE @id INT
  7. DECLARE @cname VARCHAR (100)
  8.  
  9. SELECT sorting.sort_num,sorting.DATE,sorting.TIME,sorting.YEAR,sorting.MONTH
  10. FROM employments,sorting
  11. WHERE sorting.id_person = @id
  12. AND
  13. employments.name +' '+ employments.lastname = @cname


DUDAS / PROBLLEMAS


1.-Al momento de querer combertir cmbEmp.SelectedValue.ToString() a INT con este codigo: Dim I as Integer = Convert.ToInt32(cmbEmp.SelectedValue) me marca que la cadena de entrada no es correcta...el valor proviene de un valuemember y debe retornar un int

2.- En el VB me marca la siguiente exepcion....Procedure or function sortinginfo has too many arguments specified. (Perdón, soy nuevo en estos de los stored p.)

Gracias de antemano!
  #2 (permalink)  
Antiguo 14/09/2012, 10:17
 
Fecha de Ingreso: junio-2012
Mensajes: 90
Antigüedad: 11 años, 10 meses
Puntos: 2
Respuesta: Duda VB 2010 .NET + SQL 2008

Bueno...me arte xD y lo hize con una query "embebida"....pero aun quiero saber como hacerlo con un stored procedure para que mi codigo se vea mejor :( aqui esta el codigo con el que me funciono


pero esta feo -.-


Dim i As Integer = Convert.ToInt32(cmbEmp.SelectedValue)

Dim cmd As New SqlCommand("SELECT sorting.sort_num,sorting.date,sorting.time,sorting .year,sorting.month FROM employments,sorting WHERE sorting.id_person = @id AND employments.name +' '+ employments.lastname = @cname", cnn)
Dim dt As New DataTable
Dim da As New SqlDataAdapter(cmd)
cmd.Parameters.AddWithValue("@id", i)
cmd.Parameters.AddWithValue("@cname", cmbEmp.Text.ToString())
Dim ds As New DataSet
da.Fill(ds)
gridview1.DataSource = ds.Tables(0)
  #3 (permalink)  
Antiguo 14/09/2012, 10:30
 
Fecha de Ingreso: febrero-2010
Ubicación: México
Mensajes: 738
Antigüedad: 14 años, 1 mes
Puntos: 37
Respuesta: Duda VB 2010 .NET + SQL 2008

Con respecto a lo que comentas del Stored Procedure asegurate de hacer un dispose de tu cmd, este error lo manda cuando el Stored Procedure esta recibiendo mas parámetros de los que realmente espera.

Puedes poner un punto de interrupción y verificar con una segunda ejecución de tu Stored Procedure el objeto cmd cuantos parámetros tiene ya que posiblemente por cada ejecución le mandas 2 y en la segunda ejecución ya lleva 4.

Saludos.
__________________
http://ka0stj.wordpress.com/

Etiquetas: net, sql, vb
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:49.