Visual Basic Foro

Programación => Bases de Datos => Mensaje iniciado por: E N T E R en Junio 14, 2012, 08:18:30 pm

Título: No puedo guardar en MySQL algunos simbolos
Publicado por: E N T E R en Junio 14, 2012, 08:18:30 pm
Hola, por que no puedo guardar esta forma en MySQL estos simbolos \ ', Estoy queriendo guardar la dirección de un archivo por ejemplo "c:\carpeta\archivo.tmp", la barra es la que no me quiere guardar.

Esta forma los estoy haciendo:

Código: (VB) [Seleccionar]
        V01 = "'" & LLista.selectedItem.SubItems(1) & "'"
        V02 = "'" & LPlayer.ListItems.Count + 1 & "'"
        V03 = "'" & txtNombre.Text & "'"
        V04 = "'" & txtFoto.Text & "'"
        V05 = "'" & txtRuta.Text & "'"
                   
        cnADO.BeginTrans
        ComandoSQL = "INSERT INTO peliculas (nlista,xindex,nombre,foto,ruta) VALUES (" & V01 & "," & V02 & "," & V03 & "," & V04 & "," & V05 & ")"
        cnADO.Execute ComandoSQL
        cnADO.CommitTrans
Título: Re:No puedo guardar en MySQL algunos simbolos
Publicado por: YAcosta en Junio 14, 2012, 08:36:03 pm
Checa el tipo de datos del campo, el charset tambien.
Título: Re:No puedo guardar en MySQL algunos simbolos
Publicado por: E N T E R en Junio 14, 2012, 08:50:41 pm
El tipo de dato es Varchar, o sea tiene que poder guardar cualqueir clase de texto.

Pero el problema creo que no es de MySQL es el VB6 creo por que usando un SQLyog puedo guardar o cualquier otro administrador.
Título: Re:No puedo guardar en MySQL algunos simbolos
Publicado por: seba123neo en Junio 14, 2012, 10:00:23 pm
tenes que hacer lo que se llama "Escapar " o sea usar el doble backslash, y si son 2 barras usas 4, siempre el doble, esto no sucede solo en VB6 sino en cualquier lado.

backslashes disapearing after my vb.net querry to Mysql (http://stackoverflow.com/questions/7520819/backslashes-disapearing-after-my-vb-net-querry-to-mysql)

saludos.
Título: Re:No puedo guardar en MySQL algunos simbolos
Publicado por: E N T E R en Junio 14, 2012, 10:43:25 pm
Buen truquito es, gracias seba. Pero lo solucione asi:

Código: (VB) [Seleccionar]
Public Function xCambiar(ByVal StrCad As String) As String
    StrCad = Replace(StrCad, "\", "~")
    xCambiar = StrCad
End Function

Public Function xOriginal(ByVal StrCad As String) As String
    StrCad = Replace(StrCad, "~", "\")
    xOriginal = StrCad
End Function

Para guardar los hago asi:

Código: (VB) [Seleccionar]
V05 = "'" & xCambiar(txtRuta.Text) & "'"
Para recuperar el original lo hice así:

Código: (VB) [Seleccionar]
txtRuta.Text = xOriginal(LPlayer.ListItems(ucImage1(Index).Index).SubItems(4))