FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Comandos SQL en ADS
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Comandos SQL en ADS
Posted: Thu Nov 18, 2010 01:26 AM
Amigos:

Algun guru de ADS que me pueda proporcionar un pequeño ejemplo de cómo
ejecutar comandos SQL con ADS ?, que no sea el clásico SELECT * etc etc.
por ejemplo el comando INSERT, DELETE, CREATE, etc.

Lo he intentado así pero no funciona.

Code (fw): Select all Collapse
    ADSPrepareSQL( hStatement,"CREATE TABLE Meses( " +;
                        "Numero Numeric(3,0)," +;
                        "Descripcion Char(10)) IN DATABASE")
    ADSExecuteSql(hStatement)


Estoy tratando ADS con diccionario.
Saludos y gracias por el aporte
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 1074
Joined: Fri Oct 07, 2005 01:56 PM
Re: Comandos SQL en ADS
Posted: Thu Nov 18, 2010 12:35 PM
Hola

Yo lo hago de esta manera, puede que te sirva

Code (fw): Select all Collapse
AdsConnect60( AdsServer, AdsConnect, "adssys", cPass,, @hConAds )

cSql := "UPDATE PATENTE "+;
      "SET MODELO='"+oDbf:Nom_Modelo + "' "+;
      "WHERE cod_marca='"+cCodMar+"' and marca = '"+cNomMar + "' and modelo='"+cModelo+"'"

if !SqlEjecute( "ALIASDB", cSql, hConAds )
   MsgInfo( "Error..." )
endif


Code (fw): Select all Collapse
#include "ads.ch"
function SqlEjecute( cNewAlias, cSql, hConnection )
local cAlias := ALIAS(), lReturn := .t.

DEFAULT hConnection := ViewUsu():hConnection

Select 0

if !AdsCreateSqlStatement( (cNewAlias), ADS_CDX, hConnection )
    MsgInfo("error AdsCreateSqlStatement()" + CRLF + "Error:"+cValtochar( AdsGetLastError() ) )
    lReturn :=  .f.
endif

if lReturn .and. !AdsExecuteSqlDirect(cSql)
    (cNewAlias)->( dbCloseArea() )
    lReturn :=  .f.
    MsgInfo("error AdsExecuteSqlDirect(cSql)" + CRLF + "Error:"+cValtochar( AdsGetLastError() ) + CRLF + cSql )
    if file( "c:\SqlError.txt" )
        ferase( "c:\SqlError.txt" )
    endif
    Logfile( "c:\sqlError.txt", { cSql }  )
endif

if !empty( cAlias )
    select (cAlias)
endif

hConnection := NIL

return( lReturn )
//---------------------------------------------------------------------------------------

lo otro puedes crear las tablas con dbCreate(.. y este automaticamente lo inserta en el diccionario de datos
Saludos
Patricio

__________________________________________________________________
Version: Harbour 3.2.0dev (r1307082134),Compiler: Borland C++ 5.8.2 (32-bit)
PCode version: 0.3, FWH 13.2
http://www.sialm.cl
Posts: 1380
Joined: Fri Oct 14, 2005 01:28 PM
Re: Comandos SQL en ADS
Posted: Thu Nov 18, 2010 01:13 PM

Armando
Pasame tu correo y e envio un PDF

Saludos

Resistencia - "Ciudad de las Esculturas"

Chaco - Argentina
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Comandos SQL en ADS
Posted: Thu Nov 18, 2010 02:28 PM

Amigos:

Patricio, efectivamente con DBCreate() puedo crear las tablas pero me interesa aprender por el
lado de los comandos SQL, estoy enamorado de ellos :oops: , voy a probar tu ejemplo y ya te
contaré.

Mario:

Mi correo es soisa2002 @ Prodigy.net.mx

Gracias a todos

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Comandos SQL en ADS
Posted: Thu Nov 18, 2010 03:54 PM

Patricio:

Excelente ejemplo, funciona de 100.

Muchas gracias

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero

Continue the discussion