Clique abaixo para nos ajudar
Login

Esqueci minha senha

Estamos no Facebook
Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

Quem está conectado
6 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 6 Visitantes :: 2 Motores de busca

Nenhum

[ Ver toda a lista ]


O recorde de usuários online foi de 468 em 1/3/2012, 10:43
Últimos assuntos
Bloquear edição do ListBox

17/6/2010, 15:13 por Julio

Pessoal

Boa Tarde!

Tnho uma listbox apenas para exibir o resultado.
Preciso bloquear a listbox …

Comentários: 17

automação do mozilla e chrome

15/1/2017, 12:16 por Handerson Mildroz

Boa tarde a todos!

Sou iniciante no VFP. Preciso de ajuda, pois tenho um código que usa o …

Comentários: 0

COMO ESTÃO DESENVOLVENDO EM WEB?

22/8/2016, 10:48 por AJC

Pessoal, já lí sobre vários topicos aqui no forum sobre desenvolvimento web
mas ainda nada …

Comentários: 2

USAR REPORT FORM

30/12/2016, 09:06 por AJC

Pessoal bom dia,
Estou com um grande problema, já pesquisei muita coisa sobre report form, mas o …

Comentários: 0

dll pertocheck

15/12/2016, 12:45 por FERNANDOMATRELLA

Alguem teria ja desenvolvido a comunicação com essa dll estou tento muito trabalho aqui e nenhum …

Comentários: 1

Estatísticas
Temos 6987 usuários registrados
O último usuário registrado atende pelo nome de Alexsander Leal

Os nossos membros postaram um total de 3 mensagens em 1 assuntos

Acentuação - Caracteres especiais

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Resolvido Acentuação - Caracteres especiais

Mensagem por Gilberto em 12/3/2013, 20:24

Olá boa noite.
Estou aprendendo trabalhar com VFP9 x Postgre.
Econtrei dificuldades para gravar caracteres especiais e acentuação.
O banco de dados está com codificação UTF8.
Gostaria de gravar as informações como realmentem são, sem ter que retirar os caracteres especiais nem acentuação.
É possível???
Obrigado.

Gilberto
Participante Regular
Participante Regular


Voltar ao Topo Ir em baixo

Resolvido Re: Acentuação - Caracteres especiais

Mensagem por Marcos Guedes em 13/3/2013, 08:32

Qual a string de conexão que você está utilizando?

_________________
Marcos Guedes - Programador e desenvolvedor Web.


Visite o nosso portal:
[Você precisa estar registrado e conectado para ver este link.]

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Resolvido Re: Acentuação - Caracteres especiais

Mensagem por Gilberto em 13/3/2013, 08:57

A conexão é feita com a seguinte string:

Código:
cString="DRIVER="+RTRIM(This.TxtDriver.Value)+";"
cString=cString+"SERVER="+RTRIM(This.txtServer.Value)+";"
cString=cString+"PORT="+RTRIM(This.TxtPorta.Value)+";"
cString=cString+"DATABASE="+RTRIM(This.TxtDatabase.Value)+";"
cString=cString+"uid="+RTRIM(This.TxtUsername.Value)+";"
cString=cString+"pwd="+RTRIM(This.txtPassWord.Value)+";"
cString=cString+"Trusted_Connection="+IIF(This.OptTRusConn.Value=1,"Yes","No")

SQLSTRINGCONNECT(cString)

A carga de dados está sendo feita da seguinte forma:
sele clientes && tabela livre
wid_cliente = id_cliente
wnome = nome
wcomandoSQL="insert into cad_cliente(id_cliente,nome) ;
values ('&wid_cliente','&wnome')"

Acho que é isso. Obrigado.

Gilberto
Participante Regular
Participante Regular


Voltar ao Topo Ir em baixo

Resolvido Re: Acentuação - Caracteres especiais

Mensagem por Marcos Guedes em 13/3/2013, 09:21

Gilberto, preciso saber qual o modelo de string conexão gerada neste código.
Você deve estar utilizando um formato que não permite o uso de acentos.

_________________
Marcos Guedes - Programador e desenvolvedor Web.


Visite o nosso portal:
[Você precisa estar registrado e conectado para ver este link.]

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Resolvido Re: Acentuação - Caracteres especiais

Mensagem por Gilberto em 13/3/2013, 09:41

Me perdoe Marcos, mas não sei onde o que significa "modelo de string conexão".
Efetuo a conexão através de um projeto que consegui aqui no forum.
Minha conexão é via ODBC, onde instalei a Fonte de Dados de Usuário 'PostgreSQL30' e o driver 'PostgreSQL ANSI'.
Novamente obrigado.

Gilberto
Participante Regular
Participante Regular


Voltar ao Topo Ir em baixo

Resolvido Re: Acentuação - Caracteres especiais

Mensagem por Marcos Guedes em 13/3/2013, 17:18

O código abaixo exibirá uma mensagem com a string de conexão e também enviarará para a área de transferência para que você veja a String de Conexão gerada.

Após executá-lo, utilize o Ctrl+V num editor de texto, substitua os dados de conexão tais como usuário, senha e servidor e disponibilize para vermos o modelo de sua string de conexão.

Código:
cString="DRIVER="+RTRIM(This.TxtDriver.Value)+";"
cString=cString+"SERVER="+RTRIM(This.txtServer.Value)+";"
cString=cString+"PORT="+RTRIM(This.TxtPorta.Value)+";"
cString=cString+"DATABASE="+RTRIM(This.TxtDatabase.Value)+";"
cString=cString+"uid="+RTRIM(This.TxtUsername.Value)+";"
cString=cString+"pwd="+RTRIM(This.txtPassWord.Value)+";"
cString=cString+"Trusted_Connection="+IIF(This.OptTRusConn.Value=1,"Yes","No")

MESAGEBOX(cString)
_CLIPTEXT = cString

_________________
Marcos Guedes - Programador e desenvolvedor Web.


Visite o nosso portal:
[Você precisa estar registrado e conectado para ver este link.]

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Resolvido Re: Acentuação - Caracteres especiais

Mensagem por Gilberto em 13/3/2013, 17:27

Ok, acho que entendi.
Veja o resultado:

Código:
DRIVER=PostGreSQL ANSI;SERVER=localhost;PORT=5432;DATABASE=BANCO;uid=postgres;pwd=senha;Trusted_Connection=Yes

Será que é isso??? Obrigado.

Gilberto
Participante Regular
Participante Regular


Voltar ao Topo Ir em baixo

Resolvido Re: Acentuação - Caracteres especiais

Mensagem por Marcos Guedes em 13/3/2013, 17:55

tenta gerar esta e vê se resolve:
Código:
Driver={PostgreSQL};Server=IP address;Port=5432;Database=myDataBase;Uid=myUsername;
Pwd=myPassword;

_________________
Marcos Guedes - Programador e desenvolvedor Web.


Visite o nosso portal:
[Você precisa estar registrado e conectado para ver este link.]

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Resolvido Re: Acentuação - Caracteres especiais

Mensagem por Gilberto em 13/3/2013, 18:15

Com o string abaixo, a conexão retorna ERRO. Não conecta.

DRIVER={PostgreSQL};SERVER=localhost;PORT=5432;DATABASE=banco;uid=postgres;pwd=senha;Trusted_Connection=Yes

Gilberto
Participante Regular
Participante Regular


Voltar ao Topo Ir em baixo

Resolvido Re: Acentuação - Caracteres especiais

Mensagem por Marcos Guedes em 14/3/2013, 08:41

Dá uma olhada neste projeto do Tales:
[Você precisa estar registrado e conectado para ver este link.]

_________________
Marcos Guedes - Programador e desenvolvedor Web.


Visite o nosso portal:
[Você precisa estar registrado e conectado para ver este link.]

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Resolvido Re: Acentuação - Caracteres especiais

Mensagem por Gilberto em 14/3/2013, 14:01

Olá Marcos ... este link não está apontando para um projeto.
Entretanto toda minha conexão está sendo feita através de um projeto que peguei aqui no forum, feito pelo Tales Ruan, cujo executável se chama ConectaPostgre.exe. Até acredito que é este mesmo que voce está sugerindo.
Vou continuar tentando e pesquisando.
Obrigado.

Gilberto
Participante Regular
Participante Regular


Voltar ao Topo Ir em baixo

Resolvido Re: Acentuação - Caracteres especiais

Mensagem por Gilberto em 14/3/2013, 14:54

** Foi criado um método MontaString **

Código:
PUBLIC cString

cString="DRIVER="+RTRIM(This.TxtDriver.Value)+";"
cString=cString+"SERVER="+RTRIM(This.txtServer.Value)+";"
cString=cString+"PORT="+RTRIM(This.TxtPorta.Value)+";"
cString=cString+"DATABASE="+RTRIM(This.TxtDatabase.Value)+";"
cString=cString+"uid="+RTRIM(This.TxtUsername.Value)+";"
cString=cString+"pwd="+RTRIM(This.txtPassWord.Value)+";"
cString=cString+"Trusted_Connection="+IIF(This.OptTRusConn.Value=1,"Yes","No")

RETURN cString

**Propriedade “Click” no botão “Testar Conexão”**

Código:
*LOCAL lnConn,cString
PUBLIC lnConn,cString
cString=Thisform.MontaString()

Thisform.EdtStringConn.Value=cString
lnConn = SQLSTRINGCONNECT(cString)

IF lnConn<=0 THEN && Erro ao conectar
   This.Parent.LabelRetorno.Caption="ERRO"
   This.Parent.LabelRetorno.ForeColor=RGB(255,0,0)
ELSE   && Conexão ok
   This.Parent.LabelRetorno.Caption="OK"
   This.Parent.LabelRetorno.ForeColor=RGB(0,128,0)
   SQLDISCONNECT(lnConn)
ENDIF

*** GRAVAR DADOS ***

Código:
lnConn = SQLSTRINGCONNECT(cString)

IF lnConn<=0 THEN && Erro ao conectar
   MESSAGEBOX("Erro ao conectar ao banco de dados."+CHR(13)+"Aposto que você fez alguma coisa errada."+CHR(13)+"Cheque as configurações de conexão e tente novamente",0+48,"Erro!")
ELSE   && Conexão ok
      SELECT 0
   USE TABELA_LIVRE ALIAS cad_fox
   GO top
   DO WHILE !EOF()
        LOCAL wid_CLIENTE AS INTEGER
        LOCAL wnome as string
    
     wid_cliente = ALLTRIM(STR(id_cliente))
     wnome = ALLTRIM(nome)
                                 
        wcomandoSQL="insert into cad_cliente(id_cliente,nome) values ('&wid_cliente','&wnome')"
 
      resultadoSQL=SQLEXEC(lnConn,wcomandoSQL,"CursorDados")
 
      IF ResultadoSQL=-1 THEN
         
        MESSAGEBOX("Erro ao obter dados do servidor."+CHR(13)+CHR(13)+"Inclusão NÃO efetuada - id_cliente= "+wid_cliente,0+48,"Erro")
        messagebox(wcomandosql)
        exit
    *  ELSE
   *    MESSAGEBOX("acho que deu certo...",0+64,"SQL")
      ENDIF
     
      wconta = wconta+1
      SELECT cad_fox
      SKIP
  enddo
     
      messagebox("Fim da carga")
     SQLDISCONNECT(lnConn)

ENDIF

Gilberto
Participante Regular
Participante Regular


Voltar ao Topo Ir em baixo

Resolvido Re: Acentuação - Caracteres especiais

Mensagem por Renato Lopes em 16/3/2013, 08:26

Gilberto, acredito que o problema não esteja na conexão, mas sim como você está passando os parâmetros.

Código:
 wcomandoSQL="insert into cad_cliente(id_cliente,nome) values ('&wid_cliente','&wnome')"
 
      resultadoSQL=SQLEXEC(lnConn,wcomandoSQL,"CursorDados")

Utiliza "?" ao invés de "&", porque se no nome existir uma aspas dupla, irá gerar um erro de sintaxe na sua instrução SQL.

Código:
 m.wcomandoSQL = "insert into cad_cliente(id_cliente, nome) values ('?m.wid_cliente', '?m.wnome')"
 
      resultadoSQL=SQLEXEC(lnConn,wcomandoSQL,"CursorDados")


Outra dica, sempre utilize "m." no inicio de variáveis, para que o nome de uma variável não seja o mesmo nome de um campo de uma tabela ou cursor que esteja na área de trabalho.

Utilize variáveis private para passar como parâmetro na instrução sql.

Renato Lopes
Participante Regular
Participante Regular


Voltar ao Topo Ir em baixo

Resolvido Re: Acentuação - Caracteres especiais

Mensagem por Gilberto em 18/3/2013, 08:14

Ola bom dia.
A minhas variáveis são sempre iniciadas por W justamente para diferenciar do nome do campo.
Quanto a tulização do '?' em substituição ao '&', fiz alguns testes e não funcionou. Veja linha de comando abaixo:
wcomandoSQL="insert into cad_cliente(nome) values ('?m.wnome')"
Esta linha de comando está gravando no campo nome a expressão "?m.wnome" e não o conteúdo da variavael m.wnome

Gilberto
Participante Regular
Participante Regular


Voltar ao Topo Ir em baixo

Resolvido Re: Acentuação - Caracteres especiais

Mensagem por Renato Lopes em 18/3/2013, 09:04

Bom dia, neste exemplo seu:
Código:
wcomandoSQL="insert into cad_cliente(nome) values ('?m.wnome')"
você colocou a variável entre aspas.

deve ficar assim:
Código:
wcomandoSQL="insert into cad_cliente(nome) values (?m.wnome)"
sem as aspas, por se tratar de um parametro

Renato Lopes
Participante Regular
Participante Regular


Voltar ao Topo Ir em baixo

Resolvido Re: Acentuação - Caracteres especiais

Mensagem por Gilberto em 18/3/2013, 15:56

O meu problema foi resolvido.
O banco está sendo conectado com o driver PostGreSQL ANSI, entretanto adotei a forma de carga de dados sugerida pelo Renato, com a utilização de ? em substituição ao &.
Obrigado a todos.

Gilberto
Participante Regular
Participante Regular


Voltar ao Topo Ir em baixo

Resolvido Re: Acentuação - Caracteres especiais

Mensagem por Nelson Arcas em 19/3/2013, 12:55

Gilberto, tire as aspas simples que deve funcionar.

Código:


insert into cad_cliente(nome) values (?m.wnome)

Nelson Arcas
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum