Jump to content
Fivewin Brasil

Salvar em sql


jaspionjones

Recommended Posts

Olá a todos do five

 

Gostaria desaber se alguem tem alguma idéia de como poderia nesta função adicionar a opção de salvar o banco também em SQL.

 

Tipo no commit salvando em 2 bancos um em DBF e SQL.

 

      repl lograd with vlograd
      repl cidade with vcidade
      repl bairro with vbairro
      repl estado with vestado
      repl abrevi with vabrevi
      dbcommit()
 
....."script de sql "
 
return
 
Desde já me encontro a disposição.
 
Muito obrigado
 
 
Link to comment
Share on other sites

Olá Jaspion.

 

Essa rotina é de inclusão, alteração, ou pode ser as duas opções? Está usando SQLLIB? Já estará conectado no banco de dados nesse momento certo?

 

Bom, basicamente seria:

 

FUNCTION essa_gravacao(lInclusao)
 
LOCAL cSQL
 
DEFAULT lInclusao:=.F.
 
repl lograd with vlograd
repl cidade with vcidade
repl bairro with vbairro
repl estado with vestado
repl abrevi with vabrevi
dbcommit()
 
IF lInclusao
   cSQL:='INSERT INTO sua_tabela (lograd,cidade,bairro,estado,abrevi) VALUES'+;
         '(' + SQLSTR(lograd)+;
         ',' + SQLSTR(cidade)+;
         ',' + SQLSTR(bairro)+;
         ',' + SQLSTR(estado)+;
         ',' + SQLSTR(abrevi)+;
         ')'
   sqlExecute(cSQL)
ELSE
   cSQL:='UPDATE sua_tabela SET lograd = '+SQLSTR(lograd)+;
                              ',cidade = '+SQLSTR(cidade)+;
                              ',bairro = '+SQLSTR(bairro)+;
                              ',estado = '+SQLSTR(estado)+;
                              ',abrevi = '+SQLSTR(abrevi)+;
         ' WHERE campo_chave = ?????'
   sqlExecute(cSQL)
ENDIF
 
/*
se campo for caracter, usar sqlstr
se campo for numérico, usar sqlntrim
se campo for data, usar sqldate
*/
 
RETURN
Link to comment
Share on other sites

VC ESTA CORREISSIMO o meu esta assim, com uma coisinha a menos que vc pos,

 

Uma pergunta devo estar abrindo o banco de forma errada, levando em conta que sou iniciante em sql ok  ? rs

 

estou fazendo assim  :

 

   CLS
   SET DATE     TO BRIT
   SET CENTURY  ON
   
#ifdef WVT
   WVT_SETICON( 1 )
   WVT_SETTITLE( 'TestRDD - on ' + SQLVersion() + ' & ' + Version() )
   WVT_SETCODEPAGE(255)
   WVT_SETFONT("Terminal",21,0,0)
   SETMODE(50,80)
#endif
 
   SQL CONNECT ON       'localhost';      // Nome da estação ou IP do micro onde o MySQL está rodando
               PORT     3306;             // Numero da porta, onde o servidor SQL está escutando
               DATABASE 'test';
               USER     'root';
               PASSWORD '' ;
               OPTIONS  SQL_NO_WARNING ;
               LIB      'MySQL'
 
   IF SQL_ErrorNO() > 0
      Alert( "Não foi possível conectar ao banco de dados !;"+;
             "Informe esta mensagem ao suporte : ;;"+;
             SQL_ErrorMsg() )
      QUIT
   ENDIF
 
   rddSetDefault('mysql')
   cSQL := "show full columns from test_table"
   USE SQL (cSQL) ALIAS Temp
 
Desde já agradesço a sua ajuda.
 
//usando o request tb e é de inclusão e alteração.
 
obrigado
 
Link to comment
Share on other sites

Olá Jaspion.

 

Qual o problema na sua conexão? Tá dando algum erro? Qual?

 

Basicamente você tem que fazer assim:

 

#INCLUDE 'FIVEWIN.CH'
#INCLUDE 'SQLLIB.CH'
*
*
*
*
FUNCTION INICIO()
 
LOCAL cHost     := 'localhost'
LOCAL nPorta    := 3306
LOCAL cDataBase := 'seubanco'
LOCAL cUser     := 'root'
LOCAL cPass     := ''
LOCAL cLib      := 'MySQL'
 
REQUEST SQLLIB
REQUEST MYSQL
 
SQL CONNECT ON       cHost     ;
            PORT     nPorta    ;
            DATABASE cDataBase ;
            USER     cUser     ;
            PASSWORD cPass     ;
            LIB      cLib
 
IF SQLErrorNO() > 0
   ?'Não conectou, verificar configuração com o banco'
   RETURN
ENDIF
 
?'Conectado com sucesso, eeeeeeee \o/'
 
CONTINUAR()
 
RETURN
*
*
*
*
FUNCTION CONTINUAR()
 
....
....
 
RETURN
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...