none
Guardar mi listview en sql

    Pregunta

  • Buenas Tardes,

    Estoy tratando de guardar mis registros  de un listview  en sql ..pero al momento de  guardarse me  genera   este error  y no he podido resolverlo 

    adjunto mi codigo

    Private Sub MostrarAmortizacion() 'Cuotas Dim cmd As SqlCommand = New SqlCommand("Guardar_Amortizacion") cnn.Open() cmd.Connection = cnn ListView1.Items.Clear() For Each item As ListViewItem In ListView1.Items Next Try Dim Deuda As Integer = txt_TotalAPagar.Text Dim Interes As Single = txt_TasaConver.Text Dim Periodo As Integer = txt_Cuotas.Text Dim CuotaFija As Single = Pmt(Interes, Periodo, -Deuda, 0, 0) Label19.Text = CuotaFija.ToString("#.00") Dim Intereses As Single = Nothing Dim TotalIntereses As Single = Nothing Dim Amortizacion As Single = Nothing Dim TotalAmortizacion As Single = Nothing Dim TCuotas As Single = Nothing Dim SaldoPendiente As Single = Deuda

    cmd.Parameters.Clear() For I = 1 To Periodo Intereses = Math.Round(SaldoPendiente * Interes, 2) 'INTERES A APLICAR CADA MES EN FUNCION DEL SALDO PENDIENTE TotalIntereses += Intereses 'ACUMULA LOS INTERESES DE TODAS LAS CUOTAS Amortizacion = Math.Round(CuotaFija - Intereses, 2) 'DIFERENCIA ENTRE CUOTA Y LOS INTERESES DEL MES TotalAmortizacion += Amortizacion 'ACUMULA LA AMORTIZACION DE TODAS LAS CUOTAS SaldoPendiente -= Amortizacion 'VA REBAJANDO LA PARTE DE AMORTIZACION DE CADA CUOTA TCuotas += CuotaFija 'ACUMULA TODAS LAS CUOTAS 'LINEA MENSUAL EN EL LISTVIEW Dim LINEA As New ListViewItem(I) LINEA.SubItems.Add(Fecha1.AddMonths(I - 1).ToShortDateString) '(I-1) PARA QUE EMPIECE A CONTAR EN EL MISMO MES LINEA.SubItems.Add(CuotaFija.ToString("#.00")) LINEA.SubItems.Add(Amortizacion.ToString("#.00")) LINEA.SubItems.Add(Intereses.ToString("#.00")) LINEA.SubItems.Add(SaldoPendiente.ToString("#.00")) ListView1.Items.Add(LINEA) Next 'LINEA DE TOTALES EN EL LISTVIEW Dim TOTALES As New ListViewItem("TOTALES") TOTALES.SubItems.Add("") TOTALES.SubItems.Add(TCuotas.ToString("#.00")) TOTALES.SubItems.Add(TotalAmortizacion.ToString("#.00")) TOTALES.SubItems.Add(TotalIntereses.ToString("#.00")) TOTALES.SubItems.Add(SaldoPendiente.ToString("#.00")) ListView1.Items.Add(TOTALES) cmd.ExecuteNonQuery() Catch ex As Exception MsgBox(ex.Message) Finally cnn.Close() End Try End Sub



    Ximena Valderrama

    jueves, 27 de abril de 2017 20:06

Respuestas

  • Hola Ximena Valderrama

    Tu procedimiento almacenado Guardar_Amortizacion debe tener parámetros que están esperando valores y en tu código no se los estás enviando.

    Deberías realizarlo de la siguiente forma:

    Private Sub MostrarAmortizacion() Dim cmd As SqlCommand = New SqlCommand("Guardar_Amortizacion") cnn.Open() cmd.Connection = cnn cmd.CommandType = CommandType.StoredProcedure cmd.Parameters.AddWithValue("@tuparametro1", valor1) cmd.Parameters.AddWithValue("@tuparametro2", valor2)

    ....

    'continua con tus parámetros

    ....

    ....

    ... cmd.ExecuteNonQuery()

    Donde los parámetros son los que especificaste en tu procedimiento y los valores valor1 y valor2 son aquellos que obitnes de tu listview

    Saludos


    Si ayudé a resolver tu consulta, no olvides marcar como respuesta y/o votar como útil.

    jueves, 27 de abril de 2017 20:12