Foros del Web » Programando para Internet » ASPX (.net) »

[SOLUCIONADO] Conflicto con acentos y otros caracteres al cargar datos en tabla y guardarlos a sql

Estas en el tema de Conflicto con acentos y otros caracteres al cargar datos en tabla y guardarlos a sql en el foro de ASPX (.net) en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 15/07/2013, 15:10
Avatar de aid_val  
Fecha de Ingreso: mayo-2013
Ubicación: Guanajuato
Mensajes: 302
Antigüedad: 10 años, 11 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
  #2 (permalink)  
Antiguo 16/07/2013, 09:19
 
Fecha de Ingreso: abril-2007
Mensajes: 163
Antigüedad: 17 años
Puntos: 2
Respuesta: Conflicto con acentos y otros caracteres al cargar datos en tabla y guarda

No queda claro que error te da. No obstante, ¿El collation de la BD permite acentos?
__________________
http://literaturaprogramada.blogspot.com.es/
literaturapogramada.blogspot - Reflexiones mundanas sobre la programación
  #3 (permalink)  
Antiguo 16/07/2013, 09:23
Avatar de aid_val  
Fecha de Ingreso: mayo-2013
Ubicación: Guanajuato
Mensajes: 302
Antigüedad: 10 años, 11 meses
Puntos: 5
Respuesta: Conflicto con acentos y otros caracteres al cargar datos en tabla y guarda

El error si era de asp.net la collation que tenia en SQL server no me causaba ningun conflicto.
Lo soluciones poniendo en mi web.config lo siguiente

<globalization
requestEncoding="utf-8"
responseEncoding="utf-8" />

entre las etiquetas de <system.web></system.web>

y en mi gridview en lugar de
Cita:
.AddWithValue("@descripcion_presupuesto", Convert.ToString(row.Cells(1).Text))
lo sustituí por esto
Cita:
.AddWithValue("@descripcion_presupuesto", HttpUtility.HtmlDecode(row.Cells(1).Text))

Etiquetas: acentos, caracteres, conflicto, mensaje, sql, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:58.