Clique abaixo para nos ajudar
Conectar-se

Esqueci minha senha

Estamos no Facebook
Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

Quem está conectado
19 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 19 Visitantes :: 1 Motor de busca

Nenhum

[ Ver toda a lista ]


O recorde de usuários online foi de 468 em 1/3/2012, 10:43
ListBox

23/5/2017, 10:37 por Rosangela Pires

Ola Amigos.

Para se movimentar na grid com as setas colocamos no Metodo AfterChange da grid …

Comentários: 0

TRY BEGIN E FLOCK()

17/4/2017, 10:32 por AJC

Pessoal estou tendo alguns problemas de gravação em rede, estou usando
try begin, mas vi algo na …

Comentários: 0

Exportar Dados Campo Memo Tabela DBF

10/4/2017, 10:28 por fcampos

Olá bom dia.

Estou tentando exportar os dados de algumas tabelas em formato dbf pelo foxpro.
O …

Comentários: 2

Função EVL()

8/4/2017, 12:18 por Clebervfp

Bom dia a todos.
Vim compartilhar de uma Função do próprio VFP que me benefício muito.
Função …

Comentários: 0

COMO BLOQUEAR REGISTRO OU TABELA NO VISUAL FOXPRO PARA GRAVAÇÃO EM REDE

3/4/2017, 10:29 por AJC

Pessoal estou tendo um problema que acontece sempre busco na minha tabela de clientes o ultimo …

Comentários: 2

Estatísticas
Temos 7081 usuários registrados
O último usuário registrado atende pelo nome de DENISON SANTOS DA SILVA

Os nossos membros postaram um total de 49 mensagens em 26 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.
avatar
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.
avatar
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.
avatar
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.
avatar
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
avatar
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.
avatar
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
avatar
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
avatar
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.
avatar
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)
avatar
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