Mais uma alternativa FREE com codigo aberto para usar SQL...
Moderador: Moderadores
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Mais uma alternativa FREE com codigo aberto para usar SQL...
Amiguinhos
Sempre surgem alternativas para nós para podermos trabalhar com tipods de dados diferentes e talvez mais seguros que nossos velhos e cansados .DBFs.
Lógico que eu não abandonei estes velhos pois ainda são melhores de manusear e manter, mas meu aplicativos agora entende também de Access e MySQL, tudo junto e sem briga.
A ferramenta em questão é SQLite.
Não confunda com SQL Lite uma ferramenta de gerenciamento de arquivos Access, MSDE, etc.
Trata-se de uma biblioteca muito pequena, menos de 100k, que linkadas ao aplicativo permite trabalhar com uma base de dados SQL própria usando a sintate SQL padrão.
Convenhamos, que de uma forma ou outra precisamos aprender pelo menos o basico desta velha linguagem com CREATE, INSERT, ALTER, etc.
Um pequeno exemplo escrito em xBase puro para ser compilado com Harbour/xHarbour voce encontra em:
http://www.geocities.com/SiliconValley/ ... ite_en.htm
Voces poderão baixar a biblioteca e seu código fonte em:
http://www.sqlite.org/download.html
E a documentação em:
http://www.sqlite.org/docs.html
pode ser uma alternativa legal, talvez tão simples de implementar quanto as que já conhecemos, mas o melhor de tudo é que é FREE.
E mais informações sobre como usar em:
http://unsignedint.wordpress.com/2006/0 ... s-parte-2/
@braços :?)
Sempre surgem alternativas para nós para podermos trabalhar com tipods de dados diferentes e talvez mais seguros que nossos velhos e cansados .DBFs.
Lógico que eu não abandonei estes velhos pois ainda são melhores de manusear e manter, mas meu aplicativos agora entende também de Access e MySQL, tudo junto e sem briga.
A ferramenta em questão é SQLite.
Não confunda com SQL Lite uma ferramenta de gerenciamento de arquivos Access, MSDE, etc.
Trata-se de uma biblioteca muito pequena, menos de 100k, que linkadas ao aplicativo permite trabalhar com uma base de dados SQL própria usando a sintate SQL padrão.
Convenhamos, que de uma forma ou outra precisamos aprender pelo menos o basico desta velha linguagem com CREATE, INSERT, ALTER, etc.
Um pequeno exemplo escrito em xBase puro para ser compilado com Harbour/xHarbour voce encontra em:
http://www.geocities.com/SiliconValley/ ... ite_en.htm
Voces poderão baixar a biblioteca e seu código fonte em:
http://www.sqlite.org/download.html
E a documentação em:
http://www.sqlite.org/docs.html
pode ser uma alternativa legal, talvez tão simples de implementar quanto as que já conhecemos, mas o melhor de tudo é que é FREE.
E mais informações sobre como usar em:
http://unsignedint.wordpress.com/2006/0 ... s-parte-2/
@braços :?)
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
- momente
- Usuário Nível 3

- Mensagens: 496
- Registrado em: 03 Mar 2005 11:53
- Localização: São Carlos-SP
- Contato:
Muito legal esta sua dica Rochinha,
Vamos arregaçar as mangas pessoal!!! -:]
Vamos arregaçar as mangas pessoal!!! -:]
Rogerio L. Momenté
Nada é tão perfeito que não possamos melhorar.
Nunca se explique. Seus amigos não precisam e seus inimigos não vão acreditar.
www.looksystem.com.br
Nada é tão perfeito que não possamos melhorar.
Nunca se explique. Seus amigos não precisam e seus inimigos não vão acreditar.
www.looksystem.com.br
-
claudiochaves
- Usuário Nível 1

- Mensagens: 35
- Registrado em: 28 Jul 2017 15:48
- Localização: campinas/sp
Mais uma alternativa FREE com codigo aberto para usar SQL...
Ola pessoal, boa tarde, desejo que estejam bem.
O link do exemplo em xbase esta quebrado. Alguém teria o código para compartilhar?
O link do exemplo em xbase esta quebrado. Alguém teria o código para compartilhar?
Claudio Chaves
Desenvolvedor
Desenvolvedor
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Mais uma alternativa FREE com codigo aberto para usar SQL...
Olá!
Lá tem outros exemplos
Saudações,
Itamar M. Lins Jr.
Na pasta contrib do Harbour. => \contrib\hbsqlit3\testsO link do exemplo em xbase esta quebrado. Alguém teria o código para compartilhar?
Código: Selecionar todos
#require "hbsqlit3"
#define TRACE
#define TABLE_SQL "CREATE TABLE t1( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER )"
PROCEDURE Main()
? sqlite3_libversion()
sqlite3_sleep( 3000 )
IF sqlite3_libversion_number() < 3005001
RETURN
ENDIF
t1()
t2()
RETURN
/*
*/
PROCEDURE t1()
LOCAL lCreateIfNotExist := .F.
LOCAL db := sqlite3_open( "new.s3db", lCreateIfNotExist )
IF ! Empty( db )
sqlite3_exec( db, "DROP TABLE t1" )
ENDIF
RETURN
/*
*/
PROCEDURE t2()
LOCAL lCreateIfNotExist := .T.
LOCAL db := sqlite3_open( "new.s3db", lCreateIfNotExist )
LOCAL stmt
LOCAL nCCount, nCType, nI, nJ
LOCAL aCType := { "SQLITE_INTEGER", "SQLITE_FLOAT", "SQLITE_TEXT", "SQLITE_BLOB", "SQLITE_NULL" }
LOCAL aTable
IF ! Empty( db )
#ifdef TRACE
sqlite3_profile( db, .T. )
sqlite3_trace( db, .T. )
#endif
sqlite3_exec( db, "PRAGMA auto_vacuum=0" )
sqlite3_exec( db, "PRAGMA page_size=4096" )
IF sqlite3_exec( db, TABLE_SQL ) == SQLITE_OK
? "CREATE TABLE t1 - Ok"
ENDIF
sqlite3_exec( db, ;
"BEGIN TRANSACTION;" + ;
"INSERT INTO t1( name, age ) VALUES( 'Bob', 52 );" + ;
"INSERT INTO t1( name, age ) VALUES( 'Fred', 40 );" + ;
"INSERT INTO t1( name, age ) VALUES( 'Sasha', 25 );" + ;
"INSERT INTO t1( name, age ) VALUES( 'Ivet', 28 );" + ;
"COMMIT;" )
? "BEGIN TRANSACTION"
? "INSERT INTO t1( name, age ) VALUES( 'Bob', 52 )"
? "INSERT INTO t1( name, age ) VALUES( 'Fred', 40 )"
? "INSERT INTO t1( name, age ) VALUES( 'Sasha', 25 )"
? "INSERT INTO t1( name, age ) VALUES( 'Ivet', 28 )"
? "COMMIT"
? "The number of database rows that were changed: " + hb_ntos( sqlite3_changes( db ) )
? "Total changes: " + hb_ntos( sqlite3_total_changes( db ) )
sqlite3_sleep( 3000 )
stmt := sqlite3_prepare( db, "INSERT INTO t1( name, age ) VALUES( :name, :age )" )
IF ! Empty( stmt )
IF sqlite3_bind_text( stmt, 1, "Andy" ) == SQLITE_OK .AND. ;
sqlite3_bind_int( stmt, 2, 17 ) == SQLITE_OK
IF sqlite3_step( stmt ) == SQLITE_DONE
? "INSERT INTO t1( name, age ) VALUES( 'Andy', 17 ) - Done"
ENDIF
ENDIF
sqlite3_reset( stmt )
IF sqlite3_bind_text( stmt, 1, "Mary" ) == SQLITE_OK .AND. ;
sqlite3_bind_int( stmt, 2, 19 ) == SQLITE_OK
IF sqlite3_step( stmt ) == SQLITE_DONE
? "INSERT INTO t1( name, age ) VALUES( 'Mary', 19 ) - Done"
ENDIF
ENDIF
sqlite3_clear_bindings( stmt )
sqlite3_finalize( stmt )
ENDIF
? "The number of database rows that were changed: " + hb_ntos( sqlite3_changes( db ) )
? "Total changes: " + hb_ntos( sqlite3_total_changes( db ) )
? "Last _ROWID_: " + Str( sqlite3_last_insert_rowid( db ) )
? ""
stmt := sqlite3_prepare( db, "SELECT * FROM t1 WHERE name == :name " )
sqlite3_bind_text( stmt, 1, "Andy" )
?
? "SELECT * FROM t1 WHERE name == 'Andy'"
nJ := 0
DO WHILE sqlite3_step( stmt ) == SQLITE_ROW
nCCount := sqlite3_column_count( stmt )
++nJ
? "Record # " + Str( nJ )
IF nCCount > 0
FOR nI := 0 TO nCCount - 1
nCType := sqlite3_column_type( stmt, nI )
? "Column name : " + sqlite3_column_name( stmt, nI )
? "Column type : " + aCType[ nCType ]
? "Column value: "
SWITCH nCType
CASE SQLITE_BLOB
?? "BLOB" // sqlite3_column_blob( stmt, nI )
EXIT
CASE SQLITE_INTEGER
?? Str( sqlite3_column_int( stmt, nI ) )
EXIT
CASE SQLITE_NULL
?? "NULL"
EXIT
CASE SQLITE_TEXT
?? sqlite3_column_text( stmt, nI )
EXIT
ENDSWITCH
NEXT
ENDIF
ENDDO
? "Total records - " + Str( nJ )
sqlite3_clear_bindings( stmt )
sqlite3_finalize( stmt )
sqlite3_sleep( 3000 )
stmt := sqlite3_prepare( db, "SELECT * FROM t1 WHERE age >= ?5" )
sqlite3_bind_int( stmt, 5, 40 )
?
? "SELECT * FROM t1 WHERE age >= 40 "
nJ := 0
DO WHILE sqlite3_step( stmt ) == SQLITE_ROW
nCCount := sqlite3_column_count( stmt )
++nJ
? "Record # " + Str( nJ )
IF nCCount > 0
FOR nI := 1 TO nCCount
nCType := sqlite3_column_type( stmt, nI )
? "Column name : " + sqlite3_column_name( stmt, nI )
? "Column type : " + aCType[ nCType ]
? "Column value: "
SWITCH nCType
CASE SQLITE_BLOB
?? "BLOB" // sqlite3_column_blob( stmt, nI )
EXIT
CASE SQLITE_INTEGER
?? Str( sqlite3_column_int( stmt, nI ) )
EXIT
CASE SQLITE_NULL
?? "NULL"
EXIT
CASE SQLITE_TEXT
?? sqlite3_column_text( stmt, nI )
EXIT
ENDSWITCH
NEXT
ENDIF
ENDDO
? "Total records - " + Str( nJ )
sqlite3_clear_bindings( stmt )
sqlite3_finalize( stmt )
sqlite3_sleep( 3000 )
?
? "SELECT id, name, age + 5 FROM t1"
stmt := sqlite3_prepare( db, "SELECT id, name, age + 5 FROM t1" )
? sqlite3_column_name( stmt, 1 )
? sqlite3_column_name( stmt, 2 )
? sqlite3_column_name( stmt, 3 )
? aCType[ sqlite3_column_type( stmt, 1 ) ]
? aCType[ sqlite3_column_type( stmt, 2 ) ]
? aCType[ sqlite3_column_type( stmt, 3 ) ]
? sqlite3_column_decltype( stmt, 1 )
? sqlite3_column_decltype( stmt, 2 )
? sqlite3_column_decltype( stmt, 3 )
sqlite3_finalize( stmt )
sqlite3_sleep( 3000 )
?
? "sqlite3_get_table"
?
aTable := sqlite3_get_table( db, "SELECT name, age FROM t1 WHERE age BETWEEN 10 AND 20" )
FOR nI := 1 TO Len( aTable )
FOR nJ := 1 TO Len( aTable[ nI ] )
?? aTable[ nI ][ nJ ], " "
NEXT
?
NEXT
sqlite3_sleep( 3000 )
ENDIF
RETURN
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Mais uma alternativa FREE com codigo aberto para usar SQL...
Amiguinhos,
Através do WayBack Machine consegui ver algumas páginas e inclusive o download dos arquivos necessários para uma análise:
geocities.com/SiliconValley...
Através do WayBack Machine consegui ver algumas páginas e inclusive o download dos arquivos necessários para uma análise:
geocities.com/SiliconValley...
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Mais uma alternativa FREE com codigo aberto para usar SQL...
Rochinha
Se não entendeu, SQLITE faz parte do Harbour.
Tá sempre sendo atualizado.
Pra que serve um link antigo de download isolado, de versão desconhecida, harbour desconhecido e compilador C desconhecido?
Isso não ajuda, só atrapalha.
Se não entendeu, SQLITE faz parte do Harbour.
Tá sempre sendo atualizado.
Pra que serve um link antigo de download isolado, de versão desconhecida, harbour desconhecido e compilador C desconhecido?
Isso não ajuda, só atrapalha.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Mais uma alternativa FREE com codigo aberto para usar SQL...
Olá!
Tem inclusive outras via SQLMIX...Usando comandos xBase.
Saudações,
Itamar M. Lins Jr.
Tem inclusive outras via SQLMIX...Usando comandos xBase.
Código: Selecionar todos
2019-02-11 13:09 UTC+0100 Aleksander Czajczynski (hb fki.pl)
* contrib/sddsqlt3/core.c
! fix DBUSEAREA() operation with SQLITE3 SDD to return empty result
when query conditions are false or the source table has no rows.
Previously an logically correct example caused RTE:
DBUSEAREA(,, "SELECT * FROM existing_table WHERE FALSE")
! fix double-free error in sqLite3Disconnect(), looks like the
sqlite3_close() return value checking was reverted, SQLITE_OK is 0
* use CDP API to get UTF8 string length
* use new sqlite3_prepare_v3() when built against
sqlite 3.20.0 or upper (change borrowed from Viktor's 3.4 fork)
+ add HB_SQLT3_MAP_DECLARED_EMULATED define (not yet enabled by default)
which make this SDD additionally parse SQLite column declarations.
Right now it can make HB_FT_DATE fields working using standard
ISO 8601 "yyyy-mm-dd" syntax. Also declarations not significant for
SQLite, but useful in xBase-style programming - SQL numeric(len,dec)
columns are detected in this mode and will be reflected in dbStruct().
+ add support for alternative StoD() like syntax for HB_FT_DATE columns
+ add support for ISO 8601 "YYYY-MM-DD HH:MM:SS.FFF" timestamp declared
columns, SQLite stored strings are converted to proper HB_FT_TIMESTAMP
fields
+ added HB_SQLT3_FIELDNAME_STRICT define, which enables shortening
of field to "name" if SQLite returns "table.name". Such fields are
not completly usable in xBase code - WA->T.FIELD syntax is not
valid, but FieldPos("t.field") is OK. I think it should be default
behaviour or some runtime setting should be introduced for convenience
when working with specific SQL queries.
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Mais uma alternativa FREE com codigo aberto para usar SQL...
Amiguinhos,
Eu não levantei a hipótese de se usar outra versão de harbour, xharbour, hmgseilaoquê, seja lá o que for.
Por acaso ele perguntou algo relativo a qual versão do harbour, xharbour, clipper sei la...que tinha SQLIte?
Fiz pelo bom senso ou me intrometi?
Talvez tenha tomado a frente do mestres. DESCULPAEH!
Eu só repostei o link que o claudiochaves indagou.Se não entendeu, SQLITE faz parte do Harbour.
Tá sempre sendo atualizado.
Pra que serve um link antigo de download isolado, de versão desconhecida, harbour desconhecido e compilador C desconhecido?
Isso não ajuda, só atrapalha.
Eu não levantei a hipótese de se usar outra versão de harbour, xharbour, hmgseilaoquê, seja lá o que for.
Por acaso ele perguntou algo relativo a qual versão do harbour, xharbour, clipper sei la...que tinha SQLIte?
Fiz pelo bom senso ou me intrometi?
Talvez tenha tomado a frente do mestres. DESCULPAEH!
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Mais uma alternativa FREE com codigo aberto para usar SQL...
Olá!
O importante é participar!
Saudações,
Itamar M. Lins Jr.
O importante é participar!
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Mais uma alternativa FREE com codigo aberto para usar SQL...
INFELIZMENTE, já faz algum tempo que suas mensagens não fazem sentido.rochinha escreveu:Fiz pelo bom senso ou me intrometi?
Talvez tenha tomado a frente do mestres. DESCULPAEH!
Na prática parece que nem lê as mensagens e sai postando qualquer coisa.
Este tópico deveria ser totalmente APAGADO.
O Rochinha ERROU ao criar o tópico.
Como deu pra ver, anos depois está causando problema.
FAZ PARTE DO HARBOUR, NÃO TEM QUE BAIXAR NADA, TODO MUNDO TEM ISSO NA MÁQUINA.
Mesmo assim, ainda mostra uma maneira de como baixar o tal arquivo, como se fosse novidade.
E acha certo ?
Aonde está o bom senso nisso ?
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Mais uma alternativa FREE com codigo aberto para usar SQL...
Uia, é pra Harbour 0.42* Developed using:
* Harbour 0.42 or upper
* Borland C++ BCC 5.5.1
E na seção de Clipper.
Como eu disse, tá errado desde o começo.
O melhor é apagar TUDO.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Mais uma alternativa FREE com codigo aberto para usar SQL...
Olá!
Tá exaltado por pouca coisa.
Todo mundo erra... Nem foi tão errado assim... Quem pediu foi atendido. É bom que ler mais.
Saudações,
Itamar M. Lins Jr.
Tá exaltado por pouca coisa.
Todo mundo erra... Nem foi tão errado assim... Quem pediu foi atendido. É bom que ler mais.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Mais uma alternativa FREE com codigo aberto para usar SQL...
Amiguinhos,
20 anos depois você descobriu que tá causando problemas.
Quintas Eu tô igual aquele personagem Tolerância Zero. Mas pelo meu histórico de nunca interpelar nenhum componente, manter educação vou te poupar.
Mas só pra voce entender o tópico é de 2006, ano 2006, entendeu...2006. Você entrou no forum em 2007. Cagar regra sobre algo que aconteceu antes de você nascer é dureza.
Em 2006, veja bem, em 2006 o forum Clipper on Line, tem um Clipper no nome? era único sem divisões como as que tem hoje. E creio que estávamos engatinhando em Harbour.
Finalizando, seja um profissional, traga soluções. Você poderia ter evitada esta celeuma colocando no seu post a seguinte mensagem:
claudiochaves esta ferramenta de linha de comando é muito antiga e as versões de harbour/xharbour nos dias de hoje já contemplam acesso ao banco de dados SQLite. Posso te enviar ou indicar exemplos de uso.
Uma forma elegante de REALMENTE AJUDAR.
Não devem fazer sentido para você, que se acha estar em um patamar de onde pode decidir quem posta e o que posta. Se não é do seu interesse, cale-se e deixe para outro que se interesse.INFELIZMENTE, já faz algum tempo que suas mensagens não fazem sentido.
Já olhou suas postagens? mas responda: Quantas vezes fui nelas te agredir?Na prática parece que nem lê as mensagens e sai postando qualquer coisa.
Como usuário não posso apagar meus posts depois que receberam outros post, mas vocé é MODERADOR, apague...Este tópico deveria ser totalmente APAGADO.
O Rochinha ERROU ao criar o tópico.
Como deu pra ver, anos depois está causando problema.
20 anos depois você descobriu que tá causando problemas.
Se o forense tá precisando exatamente DESTA é porque ele não quer outra. Qualquer um com meio neurônio ficaria curioso por tal informação.FAZ PARTE DO HARBOUR, NÃO TEM QUE BAIXAR NADA, TODO MUNDO TEM ISSO NA MÁQUINA.
Mesmo assim, ainda mostra uma maneira de como baixar o tal arquivo, como se fosse novidade.
E acha certo ?
Quintas Eu tô igual aquele personagem Tolerância Zero. Mas pelo meu histórico de nunca interpelar nenhum componente, manter educação vou te poupar.
Mas só pra voce entender o tópico é de 2006, ano 2006, entendeu...2006. Você entrou no forum em 2007. Cagar regra sobre algo que aconteceu antes de você nascer é dureza.
Em 2006, veja bem, em 2006 o forum Clipper on Line, tem um Clipper no nome? era único sem divisões como as que tem hoje. E creio que estávamos engatinhando em Harbour.
Finalizando, seja um profissional, traga soluções. Você poderia ter evitada esta celeuma colocando no seu post a seguinte mensagem:
claudiochaves esta ferramenta de linha de comando é muito antiga e as versões de harbour/xharbour nos dias de hoje já contemplam acesso ao banco de dados SQLite. Posso te enviar ou indicar exemplos de uso.
Uma forma elegante de REALMENTE AJUDAR.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Mais uma alternativa FREE com codigo aberto para usar SQL...
Cláudio Chaves, ISSO NÃO É FERRAMENTA DE LINHA DE COMANDO.rochinha escreveu:Finalizando, seja um profissional, traga soluções. Você poderia ter evitada esta celeuma colocando no seu post a seguinte mensagem:
claudiochaves esta ferramenta de linha de comando é muito antiga e as versões de harbour/xharbour nos dias de hoje já contemplam acesso ao banco de dados SQLite. Posso te enviar ou indicar exemplos de uso.
Uma forma elegante de REALMENTE AJUDAR.
Esse é um fonte muito antigo, do tempo que o Harbour nem trabalhava direito com DBF, e acho que nem existia XHarbour.
Se tem o Harbour já tem isso nele, e totalmente funcional.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Mais uma alternativa FREE com codigo aberto para usar SQL...
Não, mais profissional:rochinha escreveu:Finalizando, seja um profissional, traga soluções. Você poderia ter evitada esta celeuma colocando no seu post a seguinte mensagem:
claudiochaves esta ferramenta de linha de comando é muito antiga e as versões de harbour/xharbour nos dias de hoje já contemplam acesso ao banco de dados SQLite. Posso te enviar ou indicar exemplos de uso.
Uma forma elegante de REALMENTE AJUDAR.
Cláudio Chaves:
Baixar de links desconhecidos é extremamente perigoso.
Talvez até pior quando é de links desativados, pode indicar que o conteúdo pode ser prejudicial ou que não tem mais valor mesmo.
Como deve ter percebido, quem colocou o link nem sabe o que tem nele, o que deixa tudo mais perigoso.
Procure pesquisar no google, que vai encontrar várias fontes disso com exemplo.
Harbour e HMG são dois que conheço que tem SQLite atualizados.
Não precisa nada adicional.
Mesmo assim, se quiser optar por usar ADO, tem ODBC pra SQLite.
exemplo simples usando ADO acessando MediaMonkey:
Código: Selecionar todos
PROCEDURE PTESSQLITE
LOCAL cnSQL := SQLiteConnection( "D:\TOOLS\MediaMonkey\MM.DB" )
LOCAL oTBrowse, oRs
WITH OBJECT oRs := cnSQL:Execute( "SELECT Songs.ID, SongTitle, playcounter, FileLength, SongLength, Rating," + ;
" IDAlbum, Artists.Artist, Albums.Album" + ;
" FROM Songs" + ;
" LEFT JOIN Albums ON Albums.ID = Songs.IDAlbum" + ;
" LEFT JOIN ArtistsSongs ON ArtistsSongs.IDSong = Songs.ID" + ;
" LEFT JOIN Artists ON Artists.ID = ArtistsSongs.IDArtist" + ;
" WHERE EXTENSION = 'MP3'" + ;
" group by songs.id" + ;
" ORDER BY playcounter DESC" + ;
" LIMIT 300" )
DO WHILE ! :Eof()
? :Fields( "ID" ):Value, ;
:Fields( "Artist" ):Value, ;
:Fields( "SongTitle" ):Value, ;
:Fields( "PlayCounter" ):Value, ;
:Fields( "Album" ):Value, ;
:Fields( "FileLength" ):Value, ;
:Fields( "SongLength" ):Value
:MoveNext()
ENDDO
:Close()
ENDWITH
cnSQL:Close()
RETURN
FUNCTION SQLiteConnection( cFileName )
LOCAL oConexao := win_OleCreateObject( "ADODB.Connection" )
oConexao:ConnectionString := "Provider=MSDASQL;" + ;
"Driver={SQLite3 ODBC Driver};Database=" + cFileName + ";"
oConexao:CursorLocation := 3
oConexao:CommandTimeOut := 20
RETURN oConexao
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/