Clique abaixo para nos ajudar
Login

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 :: 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
» Buscar endereço por CEP
3/12/2016, 19:59 por pedrossian

» USAR WEBSERVICE NO VFP9
2/12/2016, 09:50 por AJC

» BANIMENTO DE USUARIO
17/11/2016, 08:31 por FAF

» Impressora Ticket
15/11/2016, 09:20 por clima238

» Gráfico
9/11/2016, 10:43 por hidroluz

» TRANSPOR TABELA
9/11/2016, 10:34 por hidroluz

» MUDANÇA DO .DBF PARA POTSGREE
9/11/2016, 09:12 por AJC

» Website com videoaulas sobre linguagens de programação
8/11/2016, 09:56 por JLDR

» Parceria para desenvolvimento de template em Wordpress
7/11/2016, 19:15 por mindix

» Data fica invertida na planilha que é gerada via programa.
27/10/2016, 11:00 por Linghston

» Maximizar report direto do menu
21/10/2016, 20:48 por Rosangela Pires

» Fechar form com tempo
21/10/2016, 10:15 por Rosangela Pires

» URGENTE: Ajuda com impressora ELGIN-L42
14/10/2016, 09:53 por megasoft

» Opções para gerar NF-e
10/10/2016, 09:07 por mavsinfo

» Google Maps
8/10/2016, 15:08 por Rosangela Pires

» Mysql
5/10/2016, 11:22 por Marcos Guedes

» Acessando Banco em MYSQL de um projeto WORDPRESS
3/10/2016, 10:58 por Marcos Guedes

» OPTION SELECT MOSTRAR CAMPOS QUASE PRONTO
26/9/2016, 21:09 por BobKuspe

» Pesquisa em grid
14/9/2016, 09:24 por AJC

» Total Code Generator
9/9/2016, 17:43 por robsonpassos

Buscar endereço por CEP

3/12/2016, 19:59 por pedrossian

Caros amigos, meu código para buscar endereço pelo CEP não funciona mais.
Alguém pode me …

Comentários: 0

USAR WEBSERVICE NO VFP9

2/12/2016, 09:50 por AJC

Pessoal, preciso de um material ou livro que me traga instruções como
usar a consumação de …

Comentários: 0

BANIMENTO DE USUARIO

13/11/2016, 16:21 por FAF

A usuária ROSANGELA PIRES ao tentar acessar o Forum obtem sempre a mensagem de BANIMENTO.
A mesma …

Comentários: 3

Impressora Ticket

15/11/2016, 09:20 por clima238

Bom dia,
Por favor alguém me explique porque o código abaixo imprime no ecrã em vez do printer: …

Comentários: 0

TRANSPOR TABELA

9/11/2016, 10:34 por hidroluz

Bom dia a todos, gostaria de saber como consigo fazer a transposição de uma tabela no VFP.



Comentários: 0

Estatísticas
Temos 6959 usuários registrados
O último usuário registrado atende pelo nome de EDBERTO

Os nossos membros postaram um total de 17117 mensagens em 2575 assuntos

insert mysql erro

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

Resolvido insert mysql erro

Mensagem por Rubens em 3/3/2010, 12:04

Estou tentando inserir no mysql via fox. Consigo conetar com o banco, mas quando tento inserir abaixo:

Código:
SQLEXEC(m.gnconnhandle,"INSERT INTO TB_LIM (codlim,nomelim,nome_resp,res_titulacao,especialidade_lim,departamento,localizacao,;
   telefones,email_responsavel,email_substituto,lbba,prefixo,grupo_producao,conta_sus,historico,setor,cd_usuario,dt_usuario) ;
   VALUES (mlim,nmlim,nmresp,mtitu,nmsubs,mstitu,mesp,mdepto,mloc,mtel,memailr,memails,mlbba,mfixo,mrupo,mconta,mhis,msetor,muser,ndtuse)")
o erro é "command contains urecognized phrase/keyword".
Alguém poderia de dar uma luz.
Abs

Rubens
Começando a Participar
Começando a Participar


Voltar ao Topo Ir em baixo

Resolvido Re: insert mysql erro

Mensagem por Marcos Guedes em 3/3/2010, 13:29

Tente desta forma:

Código:
LOCAL sqlCommand as String

m.sqlCommand = [INSERT INTO TB_LIM ]
m.sqlCommand = m.sqlCommand + [(codlim,nomelim,nome_resp,res_titulacao,especialidade_lim,departamento,localizacao,]
m.sqlCommand = m.sqlCommand + [telefones,email_responsavel,email_substituto,lbba,prefixo,grupo_producao,conta_sus,]
m.sqlCommand = m.sqlCommand + [historico,setor,cd_usuario,dt_usuario) VALUES (mlim,nmlim,nmresp,mtitu,nmsubs,mstitu,]
m.sqlCommand = m.sqlCommand + [mesp,mdepto,mloc,mtel,memailr,memails,mlbba,mfixo,mrupo,mconta,mhis,msetor,muser,ndtuse)]

SQLEXEC(m.gnconnhandle,m.sqlCommand)

Resolve?

_________________
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: insert mysql erro

Mensagem por hugo em 3/3/2010, 13:30

marcos

nao da o peixe nao cara

ensina a pescar primeiro

>>>>>
INSERT INTO TB_LIM (codlim,nomelim,nome_resp,res_titulacao,especialidade_lim,departamento,
localizacao,;
telefones,email_responsavel,email_substituto,lbba,prefixo,grupo_producao,
conta_sus,historico,setor,cd_usuario,dt_usuario) ;
VALUES (mlim,nmlim,nmresp,mtitu,nmsubs,mstitu,mesp,mdepto,mloc,mtel,memailr,
memails,mlbba,mfixo,mrupo,mconta,mhis,msetor,muser,ndtuse)"

rubens

que acontece no sql quando se usa ; ???

sacou??

Very Happy

_________________
"A tristeza é a falta de alegria, mais sem ela eu não poderia entender a alegria do fato de que a felicidade existe!"
Helio Leites - [Você precisa estar registrado e conectado para ver este link.]

hugo
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Resolvido Re: insert mysql erro

Mensagem por Marcos Guedes em 3/3/2010, 13:43

Não está aí o problema, Hugo!

O ponto e vírgula no VFP serve para informarmos ao compilador continuará em uma nova linha.

O erro do Rubens foi fazer isto para quebrar a STRING.

Este erro que ele relatou é do Fox e não da função SQLEXEC.

Como a STRING é muito grande, então o correto é quebrá-la pois facilita a leitura e manutenção.

_________________
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: insert mysql erro

Mensagem por Rubens em 3/3/2010, 13:58

Essa parte funcionou não apresentou erro. Mas quando fui verificar na tb_lim o registro nãofoi inserido. Preciso usar algum commit para validar?

Rubens
Começando a Participar
Começando a Participar


Voltar ao Topo Ir em baixo

Resolvido Re: insert mysql erro

Mensagem por Marcos Guedes em 3/3/2010, 14:04

Verifique se a conexão realmente foi estabelecida com sucesso. Em seguida confira o nome dos campos e tipo de valores que estais querendo inserir para cada um.

Caso não identifiques o erro, faça um teste simples, enviando registro para uma única coluna em sua tabela e veja se funciona.

Tenha cuidado, também, com os campos do tipo string!
Considerando que o campo "codlim" em sua tabela recebe um valor do tipo string, o comando ficaria assim:
Código:
m.sqlCommand = [INSERT INTO TB_LIM (codlim) VALUES ("] + m.mlim + [")]

Obs.: Observe as aspas no comando.

_________________
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: insert mysql erro

Mensagem por Rubens em 3/3/2010, 14:12

Outra informação estou tentado gravar em uma tabela do mysql.

Rubens
Começando a Participar
Começando a Participar


Voltar ao Topo Ir em baixo

Resolvido Re: insert mysql erro

Mensagem por Marcos Guedes em 3/3/2010, 14:30

reparou nas dicas que citei anteriormente?

Para MySQL, eu utilizo esta rotina:
[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: insert mysql erro

Mensagem por hugo em 3/3/2010, 16:13

[Você precisa estar registrado e conectado para ver este link.] escreveu:Essa parte funcionou não apresentou erro. Mas quando fui verificar na tb_lim o registro nãofoi inserido. Preciso usar algum commit para validar?

rubens, nao foi inserido pelo fato do mysql atender ao ACID

Smile

_________________
"A tristeza é a falta de alegria, mais sem ela eu não poderia entender a alegria do fato de que a felicidade existe!"
Helio Leites - [Você precisa estar registrado e conectado para ver este link.]

hugo
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Resolvido Re: insert mysql erro

Mensagem por hugo em 3/3/2010, 16:18

[Você precisa estar registrado e conectado para ver este link.] escreveu:Outra informação estou tentado gravar em uma tabela do mysql.

que tipo de tabela esta usando? myISAM ?

_________________
"A tristeza é a falta de alegria, mais sem ela eu não poderia entender a alegria do fato de que a felicidade existe!"
Helio Leites - [Você precisa estar registrado e conectado para ver este link.]

hugo
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Resolvido Re: insert mysql erro

Mensagem por Marcos Guedes em 3/3/2010, 16:38

Para MySQL acredito que o SQLEXEC não funciona!
Ele é válido apenas para MS SQL.
Corrijam-me se eu estiver errado.

Utilize a rotina do link que postei.

_________________
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: insert mysql erro

Mensagem por Rubens em 4/3/2010, 09:11

Bom dia, Marcos
Fiz as modificações que demonstrou, mas não consegui inser ir o registro no mysql. Criei uma nova tabela de teste somente com um campo (como indicou) e mesmo assim não insere os dados :
1º utilizando o fox preciso confirmar a transação? Commit transation
2º os campos de data e valores como declarar? No php-mysql não precisa ele reconhece a variavel.
3º no caso do update o esquema é o mesmo?
Fico grato desde já,pois com suas ilustrações consigo acessar e ler as tabelas do mysql.

Rubens
Começando a Participar
Começando a Participar


Voltar ao Topo Ir em baixo

Resolvido Re: insert mysql erro

Mensagem por Marcos Guedes em 4/3/2010, 09:20

você continua com o SQLEXEC?

Leia a minha mensagem anterior:
[Você precisa estar registrado e conectado para ver este link.] escreveu:Para MySQL acredito que o SQLEXEC não funciona!
Ele é válido apenas para MS SQL.
Corrijam-me se eu estiver errado.

Utilize a rotina do link que postei.

_________________
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: insert mysql erro

Mensagem por Rubens em 4/3/2010, 14:37

Marcos,
Você grava os dados no Mysql ou MS Sql?
A conecção( driver ) funciona normal com o MySql consigo pegar os registros em tabela temporaria.
Coloquei uma variavel no sqlexec e retornou -1 ou seja na hora de gravar na tabela (tb_lim) do mysql consta que não existe.

Grato

Rubens
Começando a Participar
Começando a Participar


Voltar ao Topo Ir em baixo

Resolvido Re: insert mysql erro

Mensagem por Marcos Guedes em 4/3/2010, 15:01

Rubens, você disse que seu banco é o MySQL, ok?!
Então para isto você precisa utilizar a rotina que citei:
[Você precisa estar registrado e conectado para ver este link.]

Para que ela funcione corretamente você precisará passa a string de conexão de acordo com a versão do seu Banco MySQL.

No link tem um exemplo simples de como utilizar a rotina, basta alterar a string de conexão e os comandos.


Para obter a string de conexão correta, consulte este link:
[Você precisa estar registrado e conectado para ver este link.]

Da forma como estais utilizando não irás conseguir pois o acesso ao banco MySQL é por meio do driver ODBC, que também precisa estar instalado em sua máquina.

Acredito que o driver correto é este:
[Você precisa estar registrado e conectado para ver este link.]

Mas você pode conseguí-lo, também no site do MySQL.

_________________
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: insert mysql erro

Mensagem por Rubens em 4/3/2010, 15:56

Marcos a conexão está ok e usando o debug veirifquei não tem erro.
Se voce tiver como mandar um modelo com com insert em tabelas, assim posso verificar onde está a ocorrencia ou quem sabe voce possa ver essa rotina. tem alguns itens que deixei como comentario.

Código:
m.obj = NEWOBJECT('acessoMysql')

m.gnconnhandle = m.obj.conectamysql()
m.obj.executacomando(m.gnconnhandle)


m.obj = NULL
DEFINE CLASS acessomysql AS CUSTOM

  HIDDEN conexao AS adodb.CONNECTION
  gnconnhandle = 0
  strconexao="DRIVER={MySQL ODBC 3.51 Driver};SERVER=192.168.110.105;DATABASE=bd_lims;USER=xxx;PASSWORD=xxx;OPTION=3;"

  FUNCTION conectamysql AS logical
      *!* Conecta-se ao banco de dados a partir da string de conexão
      THIS.gnconnhandle = SQLSTRINGCONNECT(THIS.strconexao)
      RETURN THIS.gnconnhandle
  ENDFUNC

  FUNCTION desconectamysql AS logical
      LPARAMETERS gnconnhandle AS INTEGER
      *!*
      IF (VARTYPE(m.gnconnhandle)!="N") THEN
        m.gnconnhandle=THIS.gnconnhandle
      ENDIF
      *!*
*      IF (m.gnconnhandle>=0) THEN
*        RETURN SQLDISCONNECT(m.gnconnhandle)
*      ELSE
*        RETURN -1
*      ENDIF
  ENDFUNC

  FUNCTION executacomando
      LPARAMETERS gnconnhandle AS INTEGER, comandosql AS STRING, nomecursor AS STRING
      *!*
      IF (THIS.gnconnhandle>=0) THEN
        IF (VARTYPE(m.gnconnhandle)!="N") THEN
            m.gnconnhandle=THIS.gnconnhandle
        ENDIF
        SET STEP ON
        *!*
      
*       LOCAL sqlCommand as String


*      m.sqlCommand = [INSERT INTO TB_LIM ]
*      m.sqlCommand = m.sqlCommand + [(codlim,nomelim,nome_resp,res_titulacao,especialidade_lim,departamento,localizacao,]
*      m.sqlCommand = m.sqlCommand + [telefones,email_responsavel,email_substituto,lbba,prefixo,grupo_producao,conta_sus,]
*      m.sqlCommand = m.sqlCommand + [historico,setor,cd_usuario,dt_usuario) VALUES ("] + mlim + [","] + nmlim + [","] + nmresp + [","] + mtitu +["]
*      m.sqlCommand = m.sqlCommand + [","]+nmsubs+ [","]+mstitu+[","]+mdepto+ [","]+mloc+ [","]+mtel+ [","]+memailr+ [","]+memails+[","]+mlbba+["]
*      m.sqlCommand = m.sqlCommand + [","]+mfixo+ [","]+mrupo+ [","]+mconta+ [","]+mhis+ [","]+msetor+ [","]+muser+[")]

      lnConntest= SQLEXEC(m.gnconnhandle,m.sqlCommand)&&,m.nomecursor)
      
      IF lnConntest < 0
          AERROR(laError)
          MessageBox([Could not insert value ]+laError[1,2])
      ELSE
          IF SQLROLLBACK(con1) < 0
            AERROR(laError)
            MessageBox([Could rollback ]+laError[1,2])
        ENDIF
      ENDIF

        RETURN -1
      ENDIF
  ENDFUNC

  HIDDEN PROCEDURE INIT AS void
      THIS.conexao = NEWOBJECT("adodb.connection")
  ENDPROC

  HIDDEN PROCEDURE DESTROY AS void
      THIS.conexao = NULL
  ENDPROC
ENDDEFINE

Rubens
Começando a Participar
Começando a Participar


Voltar ao Topo Ir em baixo

Resolvido Re: insert mysql erro

Mensagem por Marcos Guedes em 4/3/2010, 16:28

Bruno, você não precisa modificar a rotina.
Ela está contida numa classe para ser reaproveitada para qualquer outra aplicação.

Observe que deixei junto a rotina um exemplo com um SELECT.
Para utilizar o comando INSERT basta substituir o comando SELECT pelo INSERT desejado.

Ex.:
Código:
*!* Declaração das variáveis
LOCAL obj as Object
LOCAL nomecursor as String
LOCAL comando AS STRING
LOCAL strvalor1 AS STRING
LOCAL strvalor2 AS STRING
LOCAL strvalor3 AS STRING

*!* Instancia um objeto da classe
m.obj = NEWOBJECT('acessoMysql','caminhoRelativoDoArquivo\acessoMysql.prg')

*!* Nome para um cursor que será criado ao realizar uma consulta no banco de dados
m.nomecursor = SYS(2015)

*!* Valores modelos que serão incluídos
m.strvalor1 = "VALOR 1"
m.strvalor2 = "VALOR 2"
m.strvalor3 = "VALOR 3"

*!* Exemplo de comando INSERT
m.comando = [INSERT INTO minhaTabela (campo1, campo2, campo3) VALUES ]
m.comando = m.comando + [(']+m.strvalor1+[',']+m.strvalor2+[',']+m.strvalor3+[')]

*!* Conecta-se ao banco de dados
m.gnconnhandle = m.obj.conectamysql()

*!* Executa o comando
m.obj.executacomando(m.gnconnhandle, m.comando, m.nomecursor)

*!* Desconecta-se do banco de dados
m.obj.desconectamysql(m.gnconnhandle)

_________________
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: insert mysql erro

Mensagem por Rubens em 30/3/2010, 08:33

Resolvi o problema da seguinte forma.

msql=msql+' VALUES ("&mlim","&nmlim","&nmresp","&mtitu","&nmsubs","&mstitu","&mesp","&mdepto","&mloc",'
msql=msql+'"&mtel","&memailr","&memails","&mlbba","&mfixo","&mrupo","&mconta","&mhis","&msetor","&muser","&ndtuse")'

Funcionou bem.
Valeu pela ajuda

Rubens
Começando a Participar
Começando a Participar


Voltar ao Topo Ir em baixo

Resolvido Re: insert mysql erro

Mensagem por edikoston em 25/9/2013, 15:54

Obrigado Marcos Guedes..
Solucionei um probleminha que eu tinha quase parecido com o do amigo eu consegui inserir os dados no banco Mysql Entretanto havia um problema, muitos campos diferentes acabava por nao inserir determinadas informação no campo algumas vezes ate erro "unrecognized phrase keyword". Muito Obrigado. PDC!

edikoston
Participa Pouco
Participa Pouco


Voltar ao Topo Ir em baixo

Resolvido Re: insert mysql erro

Mensagem por Conteúdo patrocinado Hoje à(s) 09:27


Conteúdo patrocinado


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