GRAVAR CAMINHO DE DIRETORIO NO MYSQL

ALVAROVB2009 06/10/2009 11:32:28
#324572
Galera estou tentando gravar no mysql, o caminho do diretório de um logo, para quando entrar no sistema poder exibir, blz
O problema é que quando eu pego o caminho e gravo, no sistema ele não dá mensagem de erro alguma, porém quando entro no banco para ver como ele está gravado, ele está sem as barras [Ô]\[Ô], ou seja o nome esta tudo junto - C:PROJETOSVBTranspimagensfornecedor.jpg.

O comando que estou dando é:
StrSql = [Ô]Update parametros set ncoleta = [Ô] & TxtNColeta.Text & [Ô],NConhecimento = [Ô] & TxtNConhecimento.Text & _
[Ô],Empresa = [ô][Ô] & txtEmpresa.Text & [Ô][ô][Ô] & _
[Ô],Endereco = [ô][Ô] & txtEndereco.Text & [Ô][ô][Ô] & _
[Ô],Cidade_Uf = [ô][Ô] & txtcidade.Text & [Ô][ô][Ô] & _
[Ô],Cep_Telefone = [ô][Ô] & txtEstado.Text & [Ô][ô][Ô] & _
[Ô],Email = [ô][Ô] & txtEmail.Text & [Ô][ô][Ô] & _
[Ô],NRegistro = [ô][Ô] & txtCodRegistro.Text & [Ô][ô][Ô] & _
[Ô],Logo = [ô][Ô] & txtFigEntrada.Text & [Ô][ô][Ô]

E o problema esta ocorrendo também com o campo cep_telefone que não esta gravando os números digitados.

Os tipos dos campos estão como varchar , o charset esta latin1 e o collection esta latin1_swedish_ci

Quando tento edit no banco e colocar a barra no caminho, ele dá a mensagem
Table storage engine for [ô]parametros[ô] doesn[ô]t have this option

Será que alguém pode me dar uma força com esse problema, eu ainda não conheço muito o mysql e estou apanhando um pouco
Abraço a todos
MARCELO.TREZE 06/10/2009 13:41:03
#324591
Resposta escolhida
qual é o tipo do campo no banco de dados?
ALVAROVB2009 06/10/2009 13:53:13
#324594
Os tipos dos campos estão como varchar , o charset esta latin1 e o collection esta latin1_swedish_ci
MARCELO.TREZE 06/10/2009 14:42:21
#324600
Bom existem dua maneiras que poderão ser usadas.

uma delas é salvar o caminho dobrando as barras, assim:

C:\\PROJETOS\\VB\\Transpimagens\\fornecedor.jpg


outra maneira seria esta

na hora de salvar

txtCaminho.Text = Replace(txtCaminho.Text,[Ô]\[Ô],[Ô]/[Ô])

na hora de abrir basta inverter

txtCaminho.Text = Replace(rs!caminho.Text,[Ô]/[Ô],[Ô]\[Ô])
ALVAROVB2009 07/10/2009 08:57:36
#324669
Marcelo Bom Dia, obrigado pelo retorno
Más infelizmente eu já tinha tentado fazer essa alteração diretamente no banco, assim como via código e nos dois casos apresentou o mesmo erro:
[Ô]Table storage engine for [ô]parametros[ô] doesn[ô]t have this option[Ô]

MARCELO.TREZE 07/10/2009 12:03:43
#324681
voce tentou assim

C:/PROJETOS/VB/Transpimagen/fornecedor.jpg
ALVAROVB2009 07/10/2009 12:13:16
#324683
Marcelo Obrigado pelo retorno, seguem os scripts que utilizei no programa
1-)
Update parametros set ncoleta = 2,NConhecimento = 1,Empresa = [ô]empresa[ô],Endereco = [ô]endereço[ô],Cidade_Uf = [ô]cidade - uf[ô],Cep_Telefone = [ô][ô],Email = [ô]email[ô],NRegistro = [ô]123456789[ô],Logo = [ô]C:/PROJETOS/VB/Transp/imagens/fornecedor.jpg[ô]

2-)
Update parametros set ncoleta = 2,NConhecimento = 1,Empresa = [ô]empresa[ô],Endereco = [ô]endereço[ô],Cidade_Uf = [ô]cidade - uf[ô],Cep_Telefone = [ô][ô],Email = [ô]email[ô],NRegistro = [ô]123456789[ô],Logo = [ô]C:\\PROJETOS\\VB\\Transp\\imagens\\fornecedor.jpg[ô]

3-)
Update parametros set ncoleta = 2,NConhecimento = 1,Empresa = [ô]empresa[ô],Endereco = [ô]endereço[ô],Cidade_Uf = [ô]cidade - uf[ô],Cep_Telefone = [ô][ô],Email = [ô]email[ô],NRegistro = [ô]123456789[ô],Logo = [ô]C:*PROJETOS*VB*Transp*imagens*fornecedor.jpg[ô]

Tentei substituir a barra por qualquer outra coisa que eu pudesse identificar mais tarde, no momento que eu buscar o caminho da figura, más infelizmente todos deram o mesmo erro.

E apenas reforçando, eu tentei fazer essa alteração diretamente no banco e deu o mesmo problema

Abraço
EMANDRADE2002 07/10/2009 13:47:33
#324692
Utilize essa funcao

Public Function TiraBarra(sTexto As String, sGrava As Boolean) As String

Dim sOk As String
Dim i As Integer

sOk = [Ô][Ô]

If sGrava = False Then
For i = 1 To Len(sTexto)
sOk = Mid$(sTexto, i, 1)
If sOk = [Ô]|[Ô] Then
sOk = [Ô]\[Ô]
TiraBarra = TiraBarra & sOk
Else
TiraBarra = TiraBarra & sOk
End If
sOk = [Ô][Ô]
Next
End If

If sGrava = True Then
For i = 1 To Len(sTexto)
sOk = Mid$(sTexto, i, 1)
If sOk = [Ô]\[Ô] Then
sOk = [Ô]|[Ô]
TiraBarra = TiraBarra & sOk
Else
TiraBarra = TiraBarra & sOk
End If
sOk = [Ô][Ô]
Next
End If

End Function

obs:
variavel=[Ô]C:\Aplicação\Banco_imagem\imagem1[Ô]
quando for gravar entra a função assim TiraBarra([Ô]variavel[Ô],true) vai substituir a \ por |
quando trazer do banco entre com a função assim TiraBarra([Ô]Tabela.campo[Ô],fase) vai substituir a | por \
ALVAROVB2009 07/10/2009 13:59:14
#324697
EMANDRADE2002 Obrigado pelo retorno

Eu peguei a idéia de substituir a \ por | e infelizmente deu o mesmo erro.

Não cheguei a utilizar a sua rotina, eu simplesmente utilizei o replace e no momento que mando executar a alteração ele dá a mensagem de erro.

Pergunto eu, será que o meu tipo do campo está correto?
Não teria um outro tipo que suporte o que desejo fazer?

Abraço a todos e agradeço pela ajuda
MARCELO.TREZE 07/10/2009 14:48:03
#324704
Sabe de uma coisa estou impressionado com este erro, ou seja ele não está aceitando nenhum caractere especial, bom eu acho que pra finalizar você poderia tentar com ; (ponto e virgula), ou com espaço mesmo, acredito ser a ultima alternativa se der certo com ponto e virgula o restante acredito que vc já saiba como resolver
ALVAROVB2009 07/10/2009 14:51:16
#324705
kkkk Marcelo, pode acreditar estou acabando de tentar fazer essa alteração no banco, dando espaço e esta dando o mesmo problema

Estarei tentando com o ; e retornarei

Abraço
Página 1 de 2 [12 registro(s)]
Tópico encerrado , respostas não são mais permitidas