Clipper On Line • Ver Tópico - *** ADOxb - BIblioteca de funções de Acesso SQL ***

*** ADOxb - BIblioteca de funções de Acesso SQL ***

Discussão sobre SQL

Moderador: Moderadores

 

*** ADOxb - BIblioteca de funções de Acesso SQL ***

Mensagempor Hasse » 29 Nov 2013 10:46

Bom dia Rochinha.

Estou tentando entender e digerir todas estas informações contidas neste tópico, mas tenho dificuldades para entender determinadas colocações. Se o amigo puder me orientar, ficarei muito grato.

Acho uma boa voce usar comandos SQL para acesso a DBFs para que vá aprendendo a manipular esta forma de obtenção de dados.

Isto quer dizer que se pode usar o ADO para cessar DBF's ?

Desta forma eu poderia testar o aplicativo usando DBF's e depois portá-los para o Oracle ? Eu não tenho o Oracle instalado em meu Desktop.
Se isto for possível realmente, por favor, como devo proceder ?

Isto me interessa de imediato, pois estou tendo enormes dificuldades com um interfaceamento do meu cliente com um Oracle externo (o meu cliente é fornecedor de comercial do cliente possuidor do Oracle versão 10g).

Outro detalhe amigo, todos os links que apontam para o FiveWin (5Evolution) estão quebrados.

Os meus agradecimentos antecipados.
Hasse
CP200 / CP500 / Basic / dBase III / dBase IV / Clipper Summer / RTlink / Exospace.
Clipper 5.3b / Blinker 7.0 / CDX com TAG
xHarbour 1.2.1-6604 / Borland C++ (5.5.1) 32 bit / HBmake.
Harbour 3.2.0dev (r1412121623) / MINGW / HBM2 / MiniGui HMG 3.1.4 / IDE (Roberto Lopez).
"Conheça todas as teorias, domine todas as técnicas, mas, quando tocares uma alma humana, seja apenas outra alma humana." (C.G.Jung)
Avatar de usuário

Hasse
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 815
Data de registro: 19 Out 2004 10:30
Cidade/Estado: Jaraguá do Sul - SC
Curtiu: 0 vez
Mens.Curtidas: 24 vezes

*** ADOxb - BIblioteca de funções de Acesso SQL ***

Mensagempor rochinha » 29 Nov 2013 12:17

Amiguinho,

Isto quer dizer que se pode usar o ADO para cessar DBF's ?


Com certeza que sim, voce apenas terá de fazer a conecção/conexão e usar o comando EXECUTE onde passará a sentença SQL.

Outro detalhe amigo, todos os links que apontam para o FiveWin (5Evolution) estão quebrados.


Estou resolvendo isto(mudança de endereço, montagem do escritório) e em breve o site estará de volta.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4538
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 800 vezes
Mens.Curtidas: 242 vezes

*** ADOxb - BIblioteca de funções de Acesso SQL ***

Mensagempor Hasse » 29 Nov 2013 13:06

Boa tarde Rochinha.

E, de que forma eu posso simular um Banco Oracle, sem ter o Oracle disponível ?

Bastaria criar os DBF's com os mesmos campos do Banco Oracle ? (pelo menos aquelas Tabelas e Campos aos quais tenho acesso)

Acredito que neste caso eu teria diferenças no que toca aos inter-relacionamentos internos do Banco, mas para testar as rotinas de select, leitura e gravação (update) acredito que seria viável. Estou correto ?
Hasse
CP200 / CP500 / Basic / dBase III / dBase IV / Clipper Summer / RTlink / Exospace.
Clipper 5.3b / Blinker 7.0 / CDX com TAG
xHarbour 1.2.1-6604 / Borland C++ (5.5.1) 32 bit / HBmake.
Harbour 3.2.0dev (r1412121623) / MINGW / HBM2 / MiniGui HMG 3.1.4 / IDE (Roberto Lopez).
"Conheça todas as teorias, domine todas as técnicas, mas, quando tocares uma alma humana, seja apenas outra alma humana." (C.G.Jung)
Avatar de usuário

Hasse
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 815
Data de registro: 19 Out 2004 10:30
Cidade/Estado: Jaraguá do Sul - SC
Curtiu: 0 vez
Mens.Curtidas: 24 vezes

*** ADOxb - BIblioteca de funções de Acesso SQL ***

Mensagempor rochinha » 29 Nov 2013 13:31

Amiguinho,

SQL é uma linguagem única e duvido que de banco para banco exista diferenças gritantes, portanto não há o que temer.

Para testar o uso de um Oracle voce pode optar por baixar e instalar Oracle Database 11g Express Edition
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4538
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 800 vezes
Mens.Curtidas: 242 vezes

*** ADOxb - BIblioteca de funções de Acesso SQL ***

Mensagempor ALMMa » 31 Mar 2014 19:13

Pessoal,

Sou novo por aqui.

Temos uma grande mudança pela frente em nosso sistema, atualmente em xHarbour.
Basicamente, precisamos remover toda a casca dele e integrar com um aplicativo em .NET, mantendo parte das funções e eliminando outras.

Então, resolvemos dar uma testada no SQLRDD mas os exemplos não compilaram.
Daí vimos o ADOxb e resolvemos testar também, já que tem a vantagem de gerar comandos na mão e ter maior controle...

Baixamos o CH e o PRG mais novos e copiamos um código de testes.

Quase tudo funciona... só que na hora do
ADO CLOSE
dá o seguinte erro:
Error ADODB.Recordset/6 DISP_E_UNKNOWNNAME: END
Arguments: ()

O log gerado aponta pra ADOXB.PRG (511), onde tem:
oRecordSet[nRecordSet]:End()


A conexão é feita, os registros são filtrados e/ou alterados, tudo parece funcionar.
Mas na hora de fechar, dá erro.

Basicamente, a mesma coisa acontece se usar um
ADO CLOSE ALL


Alguma ideia?
ALMMa
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 1
Data de registro: 31 Mar 2014 15:31
Cidade/Estado: Belo Horizonte
Curtiu: 0 vez
Mens.Curtidas: 0 vez

*** ADOxb - BIblioteca de funções de Acesso SQL ***

Mensagempor rochinha » 31 Mar 2014 22:48

Amiguinho,

Nas funções ADOUse() e ADOCloseAll() as linhas onde existam este comando poderão ser suprimidas sem problemas ao conjunto.

Nos objetos Record e RecordSet não reparei a inexistencia do método End(). Mas não me ocorreram erros até agora.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4538
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 800 vezes
Mens.Curtidas: 242 vezes

*** ADOxb - BIblioteca de funções de Acesso SQL ***

Mensagempor Hasse » 26 Dez 2014 18:41

Boa noite Rochinha.

Estou desenvolvendo um aplicativo que exporta dados de um DBF para GDB do Firebird.

Na fase de testes já estou exportando dados de forma correta.

O problema é quando tento usar o comando ADO EXECUTE "DROP TABLE Estoque" para zerar a tabela de destino antes do início da exportação.

Abaixo o ErrorLog do erro:
Descrição do erro .............: [ODBC Firebird Driver][Firebird]unsuccessful metadata update object ESTOQUE is in use (0x80004005)
Nome do arquivo ...............: Microsoft OLE DB Provider for ODBC Drivers
Objeto do Erro ................: EXECUTE
Área - Select() ...............: 1
TraceLog do Erro:
TOLEAUTO:EXECUTE.Linha: 0 Módulo:
ADOEXECUTE.......Linha: 551 Módulo: FireFio.prg
MAIN.............Linha: 46 Módulo: FireFio.prg


O mesmo acontece com outros usos da comando ADO EXECUTE.

Esta é a linha onde ocorre o erro:
 oADOConection[nConnect]:Execute( cSql )

Abaixo como uso comando ADO EXECUTE:
ADO EXECUTE "DROP TABLE Estoque"

Abaixo o valor de cSql listado pelo ErroLog:
Tamanho Variável Tipo Valor
--------------------------------------------
18 Bytes -> cSQL Tipo C => DROP TABLE Estoque


Qual é o meu erro ?
Hasse
CP200 / CP500 / Basic / dBase III / dBase IV / Clipper Summer / RTlink / Exospace.
Clipper 5.3b / Blinker 7.0 / CDX com TAG
xHarbour 1.2.1-6604 / Borland C++ (5.5.1) 32 bit / HBmake.
Harbour 3.2.0dev (r1412121623) / MINGW / HBM2 / MiniGui HMG 3.1.4 / IDE (Roberto Lopez).
"Conheça todas as teorias, domine todas as técnicas, mas, quando tocares uma alma humana, seja apenas outra alma humana." (C.G.Jung)
Avatar de usuário

Hasse
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 815
Data de registro: 19 Out 2004 10:30
Cidade/Estado: Jaraguá do Sul - SC
Curtiu: 0 vez
Mens.Curtidas: 24 vezes

*** ADOxb - BIblioteca de funções de Acesso SQL ***

Mensagempor rochinha » 26 Dez 2014 23:56

Amiguinho,

Coloque um trecho maior de código. Somente a linha que ocorre o erro não é o bastante para entender o porque.

Pela tradução visual da mensagem, indica que você está tentando deletar uma tabela que esta em uso.

Para deletar a tabela, apenas faça a conexão com o banco de dados e não selecione a tabela.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4538
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 800 vezes
Mens.Curtidas: 242 vezes

*** ADOxb - BIblioteca de funções de Acesso SQL ***

Mensagempor Hasse » 27 Dez 2014 08:25

Bom dia Rochinha.

Segue o fonte completo.

No final do .prg já estão comentadas mais 2 linhas do comando ADO EXECUTE, que também não funcionam.

Quanto às 2 linhas seguintes, eu já li em teus comentários anteriores, que não funcionam. OK.

#include "adoXb.ch" ------->>> esta linha já existe no ado.ch. Ela pode ser retirada daqui ?

No Anexo também segue o arquivo do ErrorLog completo.

FireFio.prg
**
#include "adoXb.ch"
#include "AdoXb.prg"
*
#Include 'Inkey.ch'
#Include 'i_keybd.ch'
#include "MiniGUI.ch"
#include "ado.ch"
#include "set.ch"
#include "common.ch"
#include "directry.ch"
#include "fileio.ch"
#include "hbcompat.ch"
#include "hbwin.ch"
*
*STATIC oWnd, oClients, oClient, oName
*STATIC cName
*STATIC oSplit
*
REQUEST HB_GT_WIN_DEFAULT                                                 && Janela DOS - Temporário para testes.
*
*==================================================================================================
FUNCTION Main()
   *
   LOCAL oError       := ErrorBlock( { | oError | MyErrorFunc( oError ) } )
   *
   PUBLIC oMenu, user_nivel := 5
   PUBLIC StrDatabas := "C:\Teste\Exemplo.gdb"
   PUBLIC StrConnect := "DRIVER=Firebird/InterBase(r) driver; UID=sysdba; PWD=masterkey; DBNAME="+StrDatabas
   *
   // Necessária para criar objetos e variaveis visiveis o tempo todo
   ADOSetRDD( "FIREBIRD" )                // ADOGDB
   ADORDDDefault( "FIREBIRD" )            // ADOGDB
   cADORDD := "FIREBIRD"
   *
   ADO CONNECT StrConnect
   *
   ADO USE Estoque
   *
   ADO SELECT Estoque
   ADO GOBOTTOM
   *
   ADO EXECUTE "DROP TABLE Estoque"
   *
   SELE 1
   c_Estoque := 'D:\Dev\Clipper\Datafio\Estoque'
   USE ( c_Estoque )
   *
   Clear
   *
   WHILE Estoque->( ! EOF() )
      *
      @ 08,00 say Estoque->( Recno() )
      *
      IF Estoque->FG = "1"
         *
         c_Referen  := Estoque->CODIGO
         c_Descric  := Estoque->DESCRICAO
         n_Quantid  := Estoque->QUANT
         *     
         @ 10,10 say n_Reg
         @ 11,10 say c_Referen
         @ 12,10 say c_Descric
         *
         nRegistros := ADORecCount()
         n_Reg      := nRegistros + 01
         c_Registro := StrZero( n_Reg, 10 )
         c_Codigo   := StrZero( n_Reg, 05 )
         *
         ADO APPEND BLANK
         ADO REPLACE REGISTRO          WITH c_Registro                     && 10
         ADO REPLACE CODIGO            WITH c_Codigo                       && 5
         ADO REPLACE REFERENCIA        WITH c_Referen                      && 14
         ADO REPLACE DESCRICAO         WITH c_Descric                      && 45
         ADO REPLACE QTD_ATUAL         WITH n_Quantid                      && Double
         ADO COMMIT
         *   
      ENDIF
      *
      Estoque->( DBSkip() )
      *
   ENDDO
   *
*   c_Str := 'Select REGISTRO, REFERENCIA, QTD_ATUAL from ESTOQUE'
*   ADO EXECUTE ( c_Str )
   *
*  ADO CLOSE ALL
*  ADO CLOSE
   *
RETURN( nil )


Outra dúvida:
Como se faz leitura de valores da Tabela com o ADO ?

Abaixo o arquivo do ErrorLog.
Anexos
ERRORLOG_Hrb_006.txt
(5.83 KiB) Baixado 273 vezes
Hasse
CP200 / CP500 / Basic / dBase III / dBase IV / Clipper Summer / RTlink / Exospace.
Clipper 5.3b / Blinker 7.0 / CDX com TAG
xHarbour 1.2.1-6604 / Borland C++ (5.5.1) 32 bit / HBmake.
Harbour 3.2.0dev (r1412121623) / MINGW / HBM2 / MiniGui HMG 3.1.4 / IDE (Roberto Lopez).
"Conheça todas as teorias, domine todas as técnicas, mas, quando tocares uma alma humana, seja apenas outra alma humana." (C.G.Jung)
Avatar de usuário

Hasse
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 815
Data de registro: 19 Out 2004 10:30
Cidade/Estado: Jaraguá do Sul - SC
Curtiu: 0 vez
Mens.Curtidas: 24 vezes

*** ADOxb - BIblioteca de funções de Acesso SQL ***

Mensagempor Hasse » 27 Dez 2014 15:31

Boa tarde Rochinha.

O DROP funcionou da forma como você postou. Antes de selecionar a tabela.

Mas, eu troquei alhos por bugalhos.

O DROP ele deleta a Tabela do Banco de Dados. Na realidade eu quero é zerar a Tabela, ou seja, o equivalente ao ZAP do DBF. Como se faz ?
Hasse
CP200 / CP500 / Basic / dBase III / dBase IV / Clipper Summer / RTlink / Exospace.
Clipper 5.3b / Blinker 7.0 / CDX com TAG
xHarbour 1.2.1-6604 / Borland C++ (5.5.1) 32 bit / HBmake.
Harbour 3.2.0dev (r1412121623) / MINGW / HBM2 / MiniGui HMG 3.1.4 / IDE (Roberto Lopez).
"Conheça todas as teorias, domine todas as técnicas, mas, quando tocares uma alma humana, seja apenas outra alma humana." (C.G.Jung)
Avatar de usuário

Hasse
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 815
Data de registro: 19 Out 2004 10:30
Cidade/Estado: Jaraguá do Sul - SC
Curtiu: 0 vez
Mens.Curtidas: 24 vezes

*** ADOxb - BIblioteca de funções de Acesso SQL ***

Mensagempor rochinha » 29 Dez 2014 09:35

Amiguinhos,

#include "adoXb.ch" ------->>> esta linha já existe no ado.ch. Ela pode ser retirada daqui ?


Este .CH possui INCLUDEs expecificos para uso da biblioteca. Verifique e compare, o que for duplicado elimine.

Quanto a ZAPear uma tabela SQL é o seguinte. Por padrão usamos DROP e depois CREATE para recriar a tabela.

Verifique na biblioteca se eu acrescentei algum comando que simule o ZAP, senão, continue usando o feijão-com-arroz.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4538
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 800 vezes
Mens.Curtidas: 242 vezes

*** ADOxb - BIblioteca de funções de Acesso SQL ***

Mensagempor Hasse » 29 Dez 2014 14:59

Boa tarde Rochinha.

Pesquisei no ADOxB.PRG e não tem ZAP nem DROP.
E como seria este feijão-com-arroz ?. Eu ainda não consegui zerar uma tabela via *.PRG.

No ADOxB.ch tem os comandos abaixo:
#xcommand ADO SQL CREATE <*cSQL*> => ADOEXECUTE( 'CREATE '+ <(cSQL)> )
#xcommand ADO SQL DROP <*cSQL*> => ADOEXECUTE( 'DROP ' + <(cSQL)> )

1)-Na função Function ADODBCREATE( cDatabase ), qual é a estrutura de cDatabase ? Semelhante ao usado para criar DBF ?

2)-Na função Function ADOSetOrder( nIDXOrder ), a variável nIDXOrder é o nome da coluna da tabela ?

3)-Qual a utilidade das funções abaixo:
Function ADORequery()
Function ADOReSync()
Function ADOUpdateBatch()
Function ADOSave( cfile )
Hasse
CP200 / CP500 / Basic / dBase III / dBase IV / Clipper Summer / RTlink / Exospace.
Clipper 5.3b / Blinker 7.0 / CDX com TAG
xHarbour 1.2.1-6604 / Borland C++ (5.5.1) 32 bit / HBmake.
Harbour 3.2.0dev (r1412121623) / MINGW / HBM2 / MiniGui HMG 3.1.4 / IDE (Roberto Lopez).
"Conheça todas as teorias, domine todas as técnicas, mas, quando tocares uma alma humana, seja apenas outra alma humana." (C.G.Jung)
Avatar de usuário

Hasse
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 815
Data de registro: 19 Out 2004 10:30
Cidade/Estado: Jaraguá do Sul - SC
Curtiu: 0 vez
Mens.Curtidas: 24 vezes

*** ADOxb - BIblioteca de funções de Acesso SQL ***

Mensagempor rochinha » 30 Dez 2014 16:16

Amiguinhos,

O feijão-com-arroz é a forma básica mesmo, DROP e depois CREATE. Mas no caso de apenas eliminar os registros voce irá usar a sentença DELETE FROM.

Neste exemplo você ve o feijão-com-arroz:
#include "adoxb.ch"

function CUSTOMER(cTitle)

    // Necessária para criar objetos e variaveis visiveis o tempo todo
    ADOSetRDD( "ACCESS" )

    if ADORDDDefault() = "FIREBIRD" // ADOGDB
       StrDatabase   := ".\adogdb.gdb"
       StrConnection := "DRIVER=Firebird/InterBase(r) driver; UID=sysdba; PWD=masterkey; DBNAME="+StrDatabase
    endif

    MsgRun( "Conectando via "+ADORDDDefault()+"..." )

    ADO CONNECT StrConnection

    // Cria tabelas se nao existirem
    if ADOFile( "clientes" )
    else 
       MsgRun( "Criando tabela CLIENTES..." )
       ADO EXECUTE "DROP TABLE clientes"
       ADO EXECUTE "CREATE TABLE clientes (nome char(45), email char(45), unique(nome))"
    endif

    // Abre as tabelas
    ADO USE clientes

    // Verifica se ja possuem dados
    ADO SELECT clientes
    nRegistros := ADORecCount()
    if nRegistros = 0
       ADO APPEND BLANK
       ADO REPLACE nome      WITH "JOSE CARLOS DA ROCHA"
       ADO REPLACE email       WITH "IROCHINHA@ITELEFONICA.COM.BR"
       ADO COMMIT
    endif

    ADO CLOSE ALL

    return nil


Perceba que DROP/CREATE recriam a estrutura vazia, mas você pode usar o comando DELETE passando a ele sentenças SQL diversas:
...
   // ADO DELETE SuaSentenca
   ADO DELETE from tabela
...


Ou:
...
   // ADO DELETE SuaSentenca
   ADO DELETE * from tabela
...


Neste comando voce diz: "delete de...", "delete dentro...", "delete em...". Então voce estará limpando a tabela de seu conteúdo e não da estrutura.

Quanto a utilidade das funções, em outro build da biblioteca, colocarei no código os comentários sobre cada uma.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4538
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 800 vezes
Mens.Curtidas: 242 vezes

*** ADOxb - BIblioteca de funções de Acesso SQL ***

Mensagempor Hasse » 07 Jan 2015 18:20

Boa tarde.

Estou batalhando uma forma trabalhar com o ADO, e preciso de ajuda.
Vejam o código abaixo, onde ocorre um erro na linha 25 - Variável NOME não existe.:
   StrConnect := "DRIVER=Firebird/InterBase(r) driver; UID=sysdba; PWD=masterkey; DBNAME=C:\Teste\Small.gdb"

   ADO CONNECT StrConnect

   ADO USE CliFor
   ? "ADOAreas:=>", Str( ADOAreas(), 04 ), "= ADOAlias:=>", ADOAlias()
   *
   oRecordSet := TOLEAUTO():New("ADODB.RecordSet")

   c_SeleStr := "select  NOME, ENDERE, CIDADE, ESTADO from CliFor"

   WITH Object oRecordSet
      *
      :cursorType       := adOpenDynamic //                                     // adOpenForwardOnly // adOpenForward // adOpenStatic //
      :activeConnection := oADOConection[nConnection]
      :cursorLocation   := adUseClient
      :maxRecords       := 100000
      :cacheSize        := 100
      :source           := c_SeleStr
      *
      :open()
      *
      IF ! :Eof()
         *
         ? NOME, ENDERE, CIDADE, ESTADO       && <<<======= LINHA DO ERRO.
         *
         :MoveNext()
         *
      ENDIF
      *
   END WITH

Evidente que estou cometendo um erro, e aceito sugestões para alterações profundas.

Num segundo momento quero sofisticar o Select para um formato semelhante ao abaixo:
c_SeleStr := "select  NOME c_Nome, ENDERE c_Ender, COMPLE c_Bairro, CGC c_CgcCpf, CIDADE c_Cidade, ESTADO c_Est, CEP c_Cep, FONE c_Fones, where c_Nome like '*Maria*' order by c_Nome"

Num terceiro momento preciso gravar dados na tabela.
Hasse
CP200 / CP500 / Basic / dBase III / dBase IV / Clipper Summer / RTlink / Exospace.
Clipper 5.3b / Blinker 7.0 / CDX com TAG
xHarbour 1.2.1-6604 / Borland C++ (5.5.1) 32 bit / HBmake.
Harbour 3.2.0dev (r1412121623) / MINGW / HBM2 / MiniGui HMG 3.1.4 / IDE (Roberto Lopez).
"Conheça todas as teorias, domine todas as técnicas, mas, quando tocares uma alma humana, seja apenas outra alma humana." (C.G.Jung)
Avatar de usuário

Hasse
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 815
Data de registro: 19 Out 2004 10:30
Cidade/Estado: Jaraguá do Sul - SC
Curtiu: 0 vez
Mens.Curtidas: 24 vezes

*** ADOxb - BIblioteca de funções de Acesso SQL ***

Mensagempor ANDRIL » 07 Jan 2015 18:43

Hasse escreveu:? NOME, ENDERE, CIDADE, ESTADO && <<<======= LINHA DO ERRO.

Não tenho nenhum conhecimento sobre o ADO, mas não seria o caso de tratar o objeto oRecordSet, onde os dados devem estar. Achei estranho voce acessar direto os campos, porem, se isso for possível, talvez haja um problema com a area em aberto que não contém estes campos citados no erro.

Boa sorte.
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
Avatar de usuário

ANDRIL
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1270
Data de registro: 06 Jul 2004 00:44
Curtiu: 12 vezes
Mens.Curtidas: 46 vezes

Anterior Próximo



Retornar para SQL

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 8 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro