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 original
previousConnectionState = 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 original
ALTER 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