Comandos SQL en ADS

Comandos SQL en ADS

Postby Armando » Thu Nov 18, 2010 1: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: Select all  Expand view

    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
User avatar
Armando
 
Posts: 3061
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Comandos SQL en ADS

Postby Patricio Avalos Aguirre » Thu Nov 18, 2010 12:35 pm

Hola

Yo lo hago de esta manera, puede que te sirva

Code: Select all  Expand view


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: Select all  Expand view
#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
User avatar
Patricio Avalos Aguirre
 
Posts: 1059
Joined: Fri Oct 07, 2005 1:56 pm
Location: La Serena, Chile

Re: Comandos SQL en ADS

Postby MarioG » Thu Nov 18, 2010 1:13 pm

Armando
Pasame tu correo y e envio un PDF

Saludos
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
User avatar
MarioG
 
Posts: 1380
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR

Re: Comandos SQL en ADS

Postby Armando » Thu Nov 18, 2010 2: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
User avatar
Armando
 
Posts: 3061
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Comandos SQL en ADS

Postby Armando » Thu Nov 18, 2010 3: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
User avatar
Armando
 
Posts: 3061
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 75 guests