FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour Quiero comenzar con sqlite
Posts: 1380
Joined: Fri Oct 14, 2005 01:28 PM
Re: Quiero comenzar con sqlite
Posted: Thu Aug 06, 2020 01:28 PM
Buen dia Crsitobal


oCn := FW_OpenAdoConnection( cdb )

if oCn == nil
? "failed"
return nil
endif
Resistencia - "Ciudad de las Esculturas"

Chaco - Argentina
Posts: 1380
Joined: Fri Oct 14, 2005 01:28 PM
Re: Quiero comenzar con sqlite
Posted: Thu Aug 06, 2020 01:29 PM

Cristobal;
Tambi茅n le铆 un post tuyo sobre pasar la .dll a .lib
Eso no lo hice (o ya no es necesario)

Resistencia - "Ciudad de las Esculturas"

Chaco - Argentina
Posts: 1380
Joined: Fri Oct 14, 2005 01:28 PM
Re: Quiero comenzar con sqlite
Posted: Thu Aug 06, 2020 02:29 PM
MarioG wrote:Buen dia Crsitobal


oCn := FW_OpenAdoConnection( cdb )

if oCn == nil
? "failed"
return nil
endif


Cristobal... resuelto!!
Al parecer ten铆a una dll err贸nea.
Instal茅 las de las Contribuciones de Harbour y sali贸 andando

muchas gracias por interesarte!
Resistencia - "Ciudad de las Esculturas"

Chaco - Argentina
Posts: 1380
Joined: Fri Oct 14, 2005 01:28 PM
Re: Quiero comenzar con sqlite
Posted: Thu Aug 06, 2020 04:49 PM
nageswaragunupudi wrote:If you have installed sqlite odbc driver and want to use ODBC/ADO, FWH makes it EXTREMELY simple to use Sqlite3.
You do not have to know anything other than simple FWH ado functions, which we must be already using for other ADO databaes.

Here is a simple program:
Code (fw): Select all Collapse
#include "fivewin.ch"

function Main()

聽 聽local cdb := "testsqlite3.db"
聽 聽local ocn, ors, cSql

聽 聽oCn := FW_OpenAdoConnection( cdb )
聽 聽if oCn == nil
聽 聽 聽 ? "failed"
聽 聽 聽 return nil
聽 聽endif

聽 聽FW_AdoImportFromDBF( ocn, "c:\fwh\samples\customer.dbf" )

聽 聽oRs 聽 := FW_OpenRecordSet( oCn, "customer" )

聽 聽XBROWSER oRs FASTEDIT TITLE "SQLITE3 DATABASE TABLE"

聽 聽oRs:Close()
聽 聽ocn:close()

return nil

This program connects to the database if it exists and otherwise creates a new database and connects.
To use sqlite, you do not need to learn anything more than this and you can start working straight from the next minute.


Siguiente paso...
Si no tengo creada una DB como me conecto?
Lo que deseo es hacer DBCREATE DATABASE desde c贸digo.
O sea conectarme sin pasar la var. cdb, como arriba en FW_OpenAdoConnection( cdb )
Resistencia - "Ciudad de las Esculturas"

Chaco - Argentina
Posts: 1380
Joined: Fri Oct 14, 2005 01:28 PM
Re: Quiero comenzar con sqlite
Posted: Thu Aug 06, 2020 05:07 PM

Disculpas!
No pregunte nada...
estoy un poco mareado.
Gracias por leer!

Resistencia - "Ciudad de las Esculturas"

Chaco - Argentina
Posts: 128
Joined: Tue Jan 03, 2006 08:31 PM
Re: Quiero comenzar con sqlite
Posted: Fri Aug 07, 2020 11:53 PM
Este es mi proyecto harbour + gtwvw (Obviamente tienes que crear SQLite)
con el codigo anterios si la DB no existe se crea..
Saludos!

El proyecto
og.hbp
Code (fw): Select all Collapse
-iinclude
-inc
-oOreganoGourmet
-run

source\OREGANOGOURMET.PRG
...
...
...
...
source\FunTools\WINTOOLS.C
source\FunTools\CRYPT.C
source\FunTools\BLOWFISH.C

Resource\OG_Harbour.rc

el make hbmk.hbm

Code (fw): Select all Collapse
#
# $Id: hbmk.hbm 13358 2009-12-22 02:50:24Z vszakats $
#

E:/ToolsDeveloper/harbour-3.0.0/examples/gtwvw/gtwvw.hbc

# NOTE: Disabled until test code is cleaned/fixed.
#-w3 -es2

-w1 -es2

-lhbxpp
-lhbwin
-lhbct
-lace32
-lrddads
-lhbsqlit3
-lsqlite3
-lE:\ToolsDeveloper\tdolphin\lib\HARBOUR\MINGW32\libdolphin.a
-lE:\ToolsDeveloper\tdolphin\lib\mysql\libmysql.a
-lxhb
Posts: 1380
Joined: Fri Oct 14, 2005 01:28 PM
Re: Quiero comenzar con sqlite
Posted: Sat Aug 08, 2020 12:29 PM

Buen dia Gabo
Gracias por tu aporte!

Resistencia - "Ciudad de las Esculturas"

Chaco - Argentina
Posts: 1380
Joined: Fri Oct 14, 2005 01:28 PM
Re: Quiero comenzar con sqlite
Posted: Sun Aug 09, 2020 02:51 PM
Buenos dia!
En un tabla, definida asi:
Code (fw): Select all Collapse
local cSQL := "CREATE TABLE IF NOT EXISTS " + cTabla 聽+ ;
聽 聽 聽 聽 聽 聽 聽 "( 'ID' 聽 聽 聽 聽 聽INTEGER UNIQUE," 聽 聽 聽 聽 聽+ ;
聽 聽 聽 聽 聽 聽 聽 聽 "'MGAPP' 聽 聽 聽 CHAR(15) NULL, " 聽 聽 聽 + ;
聽 聽 聽 聽 聽 聽 聽 聽 "'VERSION' 聽 聽 CHAR(30) NULL, " 聽 聽 聽 + ;
聽 聽 聽 聽 聽 聽 聽 聽 "PRIMARY KEY('ID' AUTOINCREMENT) )"

Hago lo siguiente para Insertar:
Code (fw): Select all Collapse
local cInsert:= "INSERT INTO " +cTabla +" " + ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽"(ID,MGAPP,VERSION) " + ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 "VALUES (" + ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 "NULL," + ; 聽 聽 聽// FW_ValToSQL( 0 ) 聽// "," lo comentado son otras formas probadas
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 "'mgSQL3'," + ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 "'08.20 Build(0000)' )"

聽 聽oConn:Execute( cInsert )

Ocurre que en el campo ID; ingresando: NULL en el campo ID; el registro se agrega
Aunque, me devuelve el mensaje: ADO ERROR UNKNOW.
Al capturar el error me informa:
Operation: +
Description: Error de argumento
Obviamente que chequeada la var cInsert, esta correcta...pero no encuentro lo que hago mal
Cual es mi error?

Gracias!
Resistencia - "Ciudad de las Esculturas"

Chaco - Argentina
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Quiero comenzar con sqlite
Posted: Tue Aug 11, 2020 05:55 AM
Code (fw): Select all Collapse
#include "fivewin.ch"

function Main()

   local cdb := "testsqlite3.db"
   local ocn, ors, cSql

   FW_SetUnicode( .t. )

   oCn := FW_OpenAdoConnection( cdb )
   if oCn == nil
      ? "failed"
      return nil
   endif

   if FW_AdoTableExists( "TEST1", oCn )
      oCn:Execute( "DROP TABLE TEST1" )
   endif

TEXT INTO cSql
CREATE TABLE TEST1 (
   ID INTEGER PRIMARY KEY  AUTOINCREMENT,
   MGAPP    VARCHAR(15),
   VERSION  VARCHAR(30)
   )
ENDTEXT

   oCn:Execute( cSql )

   cSql  := "INSERT INTO TEST1 ( ID, MGAPP, VERSION ) VALUES ( NULL, 'mgSQL3', '08.20 Build(0000)' )"

   oCn:Execute( cSql )

   oRs   := FW_OpenRecordSet( oCn, "select * from test1" )
   xbrowser fwadostruct( ors )
   XBROWSER oRs

   oRs:Close()
   ocn:close()

return nil


Regards



G. N. Rao.

Hyderabad, India
Posts: 1380
Joined: Fri Oct 14, 2005 01:28 PM
Re: Quiero comenzar con sqlite
Posted: Tue Aug 11, 2020 03:59 PM

Many Thank Mr. Rao
My chain of datas is many long that my sample; so I've an error in ohter side (field)

Resistencia - "Ciudad de las Esculturas"

Chaco - Argentina
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Quiero comenzar con sqlite
Posted: Tue Aug 11, 2020 08:44 PM
To build a reliable sql statement, try to use
Code (fw): Select all Collapse
cSql := SQL INSERT INTO <table> ( fld1,fld2,... ) VALUES ( list of harbour variables )

This gives a properly formatted SQL statement.
You may give it a try.
Regards



G. N. Rao.

Hyderabad, India
Posts: 1380
Joined: Fri Oct 14, 2005 01:28 PM
Re: Quiero comenzar con sqlite
Posted: Tue Aug 11, 2020 10:19 PM

Many thanks Mr.Rao
Thats all OK now

Resistencia - "Ciudad de las Esculturas"

Chaco - Argentina
Posts: 1380
Joined: Fri Oct 14, 2005 01:28 PM
Re: Quiero comenzar con sqlite
Posted: Wed Aug 26, 2020 10:04 PM
Hola
Necesito ayuda en lo siguiente
Cuando creo la DB luego, creo la Tabla e Inserto un registro
Todo esto ocurre sin problemas
Luego recupero un registro as铆:
Code (fw): Select all Collapse
local cSelect:= "SELECT Count(ID) FROM " +::cTablaSys + " WHERE APPNAME='"+cAppName+"'" 聽 // cAppName es el nombre del ejecutable que obviamente existe en la Tabla

聽 聽::oRSDB:= FW_OpenRecordSet( ::oConDB, cSelect )

// Verifico asi:
聽 聽if !FW_AdoQueryResult( cSelect, ::oRSDB:ActiveConnection ) == 0
聽 聽 聽 ? 聽"ID", ::oRSDB:Fields( 'ID' ):Value
聽 聽end

y recibo este error:
Error description: (DOS Error -2147352567) WINOLE/1007 No se encontr贸 el elemento en la colecci贸n que corresponde al nombre o el ordinal solicitado. (0x800A0CC1): ADODB.Recordset
Args:
[ 1] = C ID

Que puedo estar haciendo mal?
Resistencia - "Ciudad de las Esculturas"

Chaco - Argentina
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Quiero comenzar con sqlite
Posted: Wed Aug 26, 2020 11:22 PM

Obviously. There is no field by name "ID" in the result of the query "SELECT COUNT(ID) FROM .......... "

Regards



G. N. Rao.

Hyderabad, India
Posts: 1380
Joined: Fri Oct 14, 2005 01:28 PM
Re: Quiero comenzar con sqlite
Posted: Thu Aug 27, 2020 01:06 AM
Mr Rao.
I'm very confused because this is the structure
And I tried with several fields; and they all return the same error
Resistencia - "Ciudad de las Esculturas"

Chaco - Argentina