Clique abaixo para nos ajudar
Conectar-se

Esqueci minha senha

Estamos no Facebook
Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

Quem está conectado
16 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 16 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
Espessura do cursor intermitente

7/3/2017, 09:08 por Jefferson Matakas

Bom dia a todos !!

Existe uma opcao no windows que pode ser acessada atraves da 'central da …

Comentários: 0

DESENVOLVIMENTO EM REDES

4/3/2017, 18:45 por AJC

Pessoal tem ou conhece livros ou material para programação em
redes usando banco de dados nativo …

Comentários: 0

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: 4

Como preencher campos vazios

9/2/2017, 11:55 por Linghston

Pessoal boa tarde,

É o seguinte, eu preciso preencher os campos de uma coluna da tabela DBF que …

Comentários: 2

Enviar msg para WhatsAPP via VFP

7/2/2017, 10:31 por Eliana

Olá Pessoal!

Alguém sabe se é possível enviar mensagem para o WhatsAPP via VFP?


Grata


Comentários: 0

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

Os nossos membros postaram um total de 31 mensagens em 17 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.]
avatar
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.]
avatar
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.]
avatar
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!
avatar
edikoston
Participa Pouco
Participa Pouco


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