TENGO UN PROCEDIMIENTO ALMACENADO QUE ME GUARDA LINEAS DE UNA TABLA EN SQL.
ESTOS ES MI PROCEDIMIENTO
ESCOJO ARCHIVO DE EXCEL
CARGO UN DATATABLE CON LOS DATOS DEL EXCEL EL CUAL ME LO MUESTRA CORRECTAMENTE CON ACENTOS, PULGADAS ETC.
PERO CUANDO GUARDO ESTA TABLA EL ERROR QUE ME MANDAS ES ALGO ASI
Excavación con equipo en caja, en material tipo B de 0 a 2 m de profundidad. Incluye: extracción de material a pie en caja, afinamiento de taludes y sobreexcavaciones por procedimiento.
ESTE ES MI CÓDIGO PARA GUARDAR EN SQL
Código vb:
Ver originalpreviousConnectionState = conn.State
If previousConnectionState = ConnectionState.Closed Then
conn.Open()
End If
For Each row In gv_Excel.Rows
Try
If previousConnectionState = ConnectionState.Closed Then
conn.Open()
End If
cmd = New SqlCommand("pa_guardar_Concepto", conn)
cmd.CommandType = CommandType.StoredProcedure
With cmd.Parameters
.AddWithValue("@nombre_presupuesto", ddl_presupuesto.SelectedValue)
.AddWithValue("@nombre_partida", ddl_capitulo_partida.SelectedValue)
.AddWithValue("@codigo_presupuesto", Convert.ToString(row.Cells(0).Text))
.AddWithValue("@descripcion_presupuesto", Convert.ToString(row.Cells(1).Text))
.AddWithValue("@unidad_presupuesto", Convert.ToString(row.Cells(2).Text))
.AddWithValue("@cantidad_presupuesto", Convert.ToString(row.Cells(3).Text))
.AddWithValue("@precio_unitario_presupuesto", Convert.ToString(row.Cells(4).Text))
.AddWithValue("@cantidad_letra_presupuesto", Convert.ToString(row.Cells(5).Text))
.AddWithValue("@importe_presupuesto", Convert.ToString(row.Cells(6).Text))
End With
Dim x As Integer = cmd.ExecuteNonQuery
If x > 0 Then
lbl_mensaje.ForeColor = Drawing.Color.Green
lbl_mensaje.Visible = True
lbl_mensaje.Text = "Dato Guardado"
txt_cantidad.Text = ""
txt_codigo.Text = ""
txt_descripcion.Text = ""
txt_importe.Text = ""
txt_importe_letra.Text = ""
txt_precio.Text = ""
txt_unidad.Text = ""
'txt_clave_presupuesto.Text = lbl_id_prespuesto.Text
End If
Catch ex As Exception
lbl_mensaje.Text = ex.Message
End Try
Next
If previousConnectionState = ConnectionState.Open Then
conn.Close()
End If
Y ESTE ES MI CODIGO DEL PROCEDIMIENTO ALMACENADO
Código SQL:
Ver originalALTER PROCEDURE [dbo].[pa_guardar_Concepto]
@nombre_presupuesto VARCHAR(50),
@nombre_partida VARCHAR(50),
@codigo_presupuesto VARCHAR(25),
@descripcion_presupuesto VARCHAR(600),
@unidad_presupuesto VARCHAR(15),
@cantidad_presupuesto VARCHAR(50),
@precio_unitario_presupuesto VARCHAR(50),
@cantidad_letra_presupuesto VARCHAR(100),
@importe_presupuesto VARCHAR(50)
AS
BEGIN try
BEGIN tran
INSERT INTO ConceptoPresu(id_partida ,
codigo_presupuesto,
descripcion_presupuesto,
unidad_presupuesto,
cantidad_presupuesto,
precion_unitario_presupuesto,
cantidad_letra_presupuesto,
importe_presupuesto)
VALUES(
(SELECT DISTINCT (id_capitulo) FROM partidas WHERE nombre_partida=@nombre_partida AND id_presupuesto = (SELECT id_presupuesto FROM presupuesto WHERE nombre_presupuesto =@nombre_presupuesto )),
@codigo_presupuesto ,
@descripcion_presupuesto ,
@unidad_presupuesto ,
@cantidad_presupuesto ,
@precio_unitario_presupuesto ,
@cantidad_letra_presupuesto ,
@importe_presupuesto )
COMMIT
END TRY
BEGIN CATCH
ROLLBACK
PRINT error_message()
END CATCH