none
tengo un error al quere grabar ... RRS feed

  • Pregunta

  • 1RA PARTE:

    tengo un problemita,,, que yo pienso que mi codigo esta bien.. pero no se porque no me graba. y me sale este mensaje:

    Error al convertir el valor del parámetro de String a Int32

    1ro hice mi procedimiento almacenado:

    create procedure sp_grabar
    @codigo char(5),
    @nombre varchar(50),
    @celular char(9),
    @asignatura int,
    @proyecto int,
    @correo varchar(30),
    @casa char(7),
    @estado int
     as
    insert into estudiante(codigo,nombre,celular,asignatura,proyecto,correo,casa,estado) values(@codigo,@nombre,@celular,@asignatura,@proyecto,@correo,@casa,@estado)
    go
    

    martes, 24 de mayo de 2011 21:58

Todas las respuestas

  • 2DA PARTE:

    MI CODIGO EN ASP.NET 2005 PARA WEB.

      Try
          Dim cmd As New SqlCommand("sp_grabar", cn)
          cmd.CommandType = CommandType.StoredProcedure
          cmd.Parameters.Add("@codigo", SqlDbType.Char, 5).Value = Me.txtcodigo.Text
          cmd.Parameters.Add("@nombre", SqlDbType.VarChar, 50).Value = Me.txtnombre.Text
          cmd.Parameters.Add("@celular", SqlDbType.Char, 9).Value = Me.txtcelular.Text
          cmd.Parameters.Add("@asignatura", SqlDbType.Int).Value = Me.ddlasignatura.SelectedValue
          cmd.Parameters.Add("@proyecto", SqlDbType.Int).Value = Me.ddltitulo.SelectedValue
          cmd.Parameters.Add("@correo", SqlDbType.VarChar, 30).Value = Me.txtcorreo.Text
          cmd.Parameters.Add("@casa", SqlDbType.Char, 7).Value = Me.txtcasa.Text
          cmd.Parameters.Add("@estado", SqlDbType.Int).Value = Me.ddlestado.SelectedValue
          cn.Open()
          Dim i As Integer = cmd.ExecuteNonQuery
          If i = 1 Then
            Me.lblanuncio.Text = "Alumno Registrado"
            Me.lblanuncio.ForeColor = Color.Blue
    
          End If
        Catch ex As Exception
          Me.lblanuncio.Text = ex.Message
        Finally
          cn.Close()
        End Try
    

    MI ERROR ME SALE ESTE MENSAJE:

    Error al convertir el valor del parámetro de String a Int32

    yo pienso que mi codigo esta bien....

     

     

    martes, 24 de mayo de 2011 22:00
  • Hola,

    Repasa que en tus campos de tipo Int (asignatura, proyecto, estado) realmente llegan valores enteros y no una cadena de texto.

    Quizas debas realizar algo parecido a esto:

    cmd.Parameters.Add("@asignatura", SqlDbType.Int).Value = Convert.ToInt32(Me.ddlasignatura.SelectedValue)

    Saludos,

    JA Reyes.


    Please remember to Vote & "Mark As Answer" if this post is helpful to you.
    Por favor, recuerda Votar y "Marcar como respuesta" si la solucion de esta pregunta te ha sido útil.
    miércoles, 25 de mayo de 2011 8:10
  • un consejo porque no reduces el codigo usando

    cmd.Parameters.AddWitValue("@codigo", Me.txtcodigo.Text)
    cmd.Parameters.AddWitValue("@nombre", Me.txtnombre.Text)
    cmd.Parameters.AddWitValue("@celular", Me.txtcelular.Text)
    cmd.Parameters.AddWitValue("@asignatura", CInt( Me.ddlasignatura.SelectedValue))
    cmd.Parameters.AddWitValue("@proyecto", CInt(Me.ddltitulo.SelectedValue))
    cmd.Parameters.AddWitValue("@correo", Me.txtcorreo.Text)
    cmd.Parameters.AddWitValue("@casa",  Me.txtcasa.Text9
    cmd.Parameters.AddWitValue("@estado", CInt( Me.ddlestado.SelectedValue))

     

    veras como en los parametro del tipo numerico use la conversion a CInt() y donde son string no lo hice

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    miércoles, 25 de mayo de 2011 16:09