Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/07/2013, 15:10
Avatar de aid_val
aid_val
 
Fecha de Ingreso: mayo-2013
Ubicación: Guanajuato
Mensajes: 302
Antigüedad: 11 años, 6 meses
Puntos: 5
Conflicto con acentos y otros caracteres al cargar datos en tabla y guardarlos a sql

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 original
  1. previousConnectionState = conn.State
  2.  
  3.         If previousConnectionState = ConnectionState.Closed Then
  4.             conn.Open()
  5.         End If
  6.  
  7.         For Each row In gv_Excel.Rows
  8.          
  9.             Try
  10.                 If previousConnectionState = ConnectionState.Closed Then
  11.                     conn.Open()
  12.                 End If
  13.  
  14.                 cmd = New SqlCommand("pa_guardar_Concepto", conn)
  15.                 cmd.CommandType = CommandType.StoredProcedure
  16.                 With cmd.Parameters
  17.                     .AddWithValue("@nombre_presupuesto", ddl_presupuesto.SelectedValue)
  18.                     .AddWithValue("@nombre_partida", ddl_capitulo_partida.SelectedValue)
  19.                     .AddWithValue("@codigo_presupuesto", Convert.ToString(row.Cells(0).Text))
  20.                     .AddWithValue("@descripcion_presupuesto", Convert.ToString(row.Cells(1).Text))
  21.                     .AddWithValue("@unidad_presupuesto", Convert.ToString(row.Cells(2).Text))
  22.                     .AddWithValue("@cantidad_presupuesto", Convert.ToString(row.Cells(3).Text))
  23.                     .AddWithValue("@precio_unitario_presupuesto", Convert.ToString(row.Cells(4).Text))
  24.                     .AddWithValue("@cantidad_letra_presupuesto", Convert.ToString(row.Cells(5).Text))
  25.                     .AddWithValue("@importe_presupuesto", Convert.ToString(row.Cells(6).Text))
  26.  
  27.  
  28.                 End With
  29.  
  30.                 Dim x As Integer = cmd.ExecuteNonQuery
  31.                 If x > 0 Then
  32.                     lbl_mensaje.ForeColor = Drawing.Color.Green
  33.                     lbl_mensaje.Visible = True
  34.                     lbl_mensaje.Text = "Dato Guardado"
  35.                     txt_cantidad.Text = ""
  36.                     txt_codigo.Text = ""
  37.                     txt_descripcion.Text = ""
  38.                     txt_importe.Text = ""
  39.                     txt_importe_letra.Text = ""
  40.                     txt_precio.Text = ""
  41.                     txt_unidad.Text = ""
  42.                     'txt_clave_presupuesto.Text = lbl_id_prespuesto.Text
  43.                End If
  44.             Catch ex As Exception
  45.                 lbl_mensaje.Text = ex.Message
  46.             End Try
  47.  
  48.         Next
  49.         If previousConnectionState = ConnectionState.Open Then
  50.             conn.Close()
  51.         End If

Y ESTE ES MI CODIGO DEL PROCEDIMIENTO ALMACENADO
Código SQL:
Ver original
  1. ALTER PROCEDURE [dbo].[pa_guardar_Concepto]
  2.  @nombre_presupuesto VARCHAR(50),
  3.  @nombre_partida VARCHAR(50),
  4.  @codigo_presupuesto VARCHAR(25),
  5.  @descripcion_presupuesto VARCHAR(600),
  6.  @unidad_presupuesto VARCHAR(15),
  7.  @cantidad_presupuesto VARCHAR(50),
  8.  @precio_unitario_presupuesto VARCHAR(50),
  9.  @cantidad_letra_presupuesto VARCHAR(100),
  10.  @importe_presupuesto VARCHAR(50)
  11. AS
  12. BEGIN try
  13. BEGIN tran
  14. INSERT INTO  ConceptoPresu(id_partida  ,
  15.                             codigo_presupuesto,
  16.                             descripcion_presupuesto,
  17.                             unidad_presupuesto,
  18.                             cantidad_presupuesto,
  19.                             precion_unitario_presupuesto,
  20.                             cantidad_letra_presupuesto,
  21.                             importe_presupuesto)
  22.                            
  23.                              VALUES(
  24.                              (SELECT DISTINCT (id_capitulo)  FROM partidas WHERE nombre_partida=@nombre_partida   AND id_presupuesto = (SELECT id_presupuesto FROM presupuesto WHERE nombre_presupuesto =@nombre_presupuesto  )),
  25.                             @codigo_presupuesto ,
  26. @descripcion_presupuesto ,
  27. @unidad_presupuesto ,
  28. @cantidad_presupuesto ,
  29. @precio_unitario_presupuesto ,
  30. @cantidad_letra_presupuesto ,
  31. @importe_presupuesto )
  32. COMMIT
  33. END TRY
  34. BEGIN CATCH
  35.     ROLLBACK
  36.     PRINT error_message()
  37. END CATCH