INSERT SET o INSERt VALUES

Re: INSERT SET o INSERt VALUES

Postby Daniel Garcia-Gil » Fri Feb 13, 2015 11:31 am

Saludos

si estas usando dolphin, puedes usar el metodo insert

Code: Select all  Expand view

Function Test()
    local aNombres
    aadd( aNombres, {"001", "NOMBRE 1"} )
    aadd( aNombres, {"002", "NOMBRE 2"} )
    aadd( aNombres, {"003", "NOMBRE 3"} )
    aadd( aNombres, {"004", "NOMBRE 4"} )
    aadd( aNombres, {"005", "NOMBRE 5"} )
    aadd( aNombres, {"006", "NOMBRE 6"} )
    aadd( aNombres, {"007", "NOMBRE 7"} )
    aadd( aNombres, {"008", "NOMBRE 8"} )
    aadd( aNombres, {"009", "NOMBRE 9"} )
    aadd( aNombres, {"010", "NOMBRE 10"} )

    TRY
        oCon:Insert( "clientes", {"clave", "nombre"}, aNombres )    
    CATCH
    END
RETURN
 


Para un solo registro

Code: Select all  Expand view

oCon:hInsert( "clientes", {"clave" => "001", "nombre" => "nombre001" } )
 


se puede usar parametros en las sentencias sql, bien sea como arreglo o hash

Code: Select all  Expand view

//con array
oCon:Execute("INSERT INTO clientes (clave,nombre) values (&1,&2)", { "001", "nombre001"})
 


Code: Select all  Expand view

//con hash
oCon:Execute("INSERT INTO clientes (clave,nombre) values (&clave,&nombre)", { "clave" =>"001", "nombre" => "nombre001"})
 


la diferencia notable entre SET y VALUES en el insert es que con SET solo puedes incluir un registro, con VALUES multiples registros a ala vez
User avatar
Daniel Garcia-Gil
 
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita

Re: INSERT SET o INSERt VALUES

Postby acuellar » Fri Feb 13, 2015 12:29 pm

Gracias Daniel

Muy buen aporte.

Saludos,

Adhemar
Saludos,

Adhemar C.
User avatar
acuellar
 
Posts: 1594
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: INSERT SET o INSERt VALUES

Postby sysctrl2 » Fri Feb 13, 2015 6:15 pm

Fernando, Carlos Mora, Daniel
muchas gracias
voy hacer las pruebas
hay les cuento,
saludos..
Cesar Cortes Cruz
SysCtrl Software
Mexico

' Sin +- FWH es mejor "
User avatar
sysctrl2
 
Posts: 971
Joined: Mon Feb 05, 2007 7:15 pm

Re: INSERT SET o INSERt VALUES

Postby jnavas » Wed Feb 18, 2015 5:14 am

Saludos Cordiales
Para resolver diversos Motores de Base de datos y expecíficamente los campos de tipo fecha y lógico, hice una clase llamada TTABLE lo cual utilizo de capa intermedia entre mi aplicacion con el gestor de base de datos, publicare parte de mi código:

oTable:=OpenTable("SELECT * FROM DPDIRAPL WHERE "+cWhere,.T.,oDb)

IF oTable:RecCount()=0
oTable:AppendBlank()
oTable:cWhere:=""

cWhereInc:="DIR_CODIGO"+GetWhere("=",cCodigo )+" AND "+;
"DIR_APLICA"+GetWhere("=",cAplica )+" AND "+;
"DIR_VERSIO"+GetWhere("=",nVersion)

nNumero:=EJECUTAR("SQLINCREMENTAL","DPDIRAPL","DIR_NUMERO",cWhereInc,oDb)

ELSE
nNumero:=oTable:DIR_NUMERO
ENDIF

oTable:Replace("DIR_FECHA" ,dFecha )
oTable:Replace("DIR_HORA" ,cHora )
oTable:Replace("DIR_CODIGO",cCodigo )
oTable:Replace("DIR_APLICA",cAplica )
oTable:Replace("DIR_VERSIO",nVersion)
oTable:Replace("DIR_CARPET",cCarpeta)
oTable:Replace("DIR_FILE" ,cFile )
oTable:Replace("DIR_SIZE" ,nSize )
oTable:Replace("DIR_NUMERO",nNumero )
oTable:Replace("DIR_TXT" ,lText )
oTable:Commit(oTable:cWhere)
oTable:End()
User avatar
jnavas
 
Posts: 473
Joined: Wed Nov 16, 2005 12:03 pm
Location: Caracas - Venezuela

Re: INSERT SET o INSERt VALUES

Postby jnavas » Wed Feb 18, 2015 7:10 pm

Saludos Cordiales

Para si uso, he creado una clase TTABLE intermedia entre mi aplicacion y la Base de datos, asi puedo utilidar diversos gestores de Base de datos y adaptar la capa financiera. he utilizado con esta misma clase MySQL, SQLSERVER y ADS con tablas ADT.


oTable:=OpenTable("SELECT * FROM DPDIRAPL WHERE "+cWhere,.T.,oDb)

IF oTable:RecCount()=0
oTable:AppendBlank()
oTable:cWhere:=""

cWhereInc:="DIR_CODIGO"+GetWhere("=",cCodigo )+" AND "+;
"DIR_APLICA"+GetWhere("=",cAplica )+" AND "+;
"DIR_VERSIO"+GetWhere("=",nVersion)

nNumero:=EJECUTAR("SQLINCREMENTAL","DPDIRAPL","DIR_NUMERO",cWhereInc,oDb)

ELSE
nNumero:=oTable:DIR_NUMERO
ENDIF

oTable:Replace("DIR_FECHA" ,dFecha )
oTable:Replace("DIR_HORA" ,cHora )
oTable:Replace("DIR_CODIGO",cCodigo )
oTable:Replace("DIR_APLICA",cAplica )
oTable:Replace("DIR_VERSIO",nVersion)
oTable:Replace("DIR_CARPET",cCarpeta)
oTable:Replace("DIR_FILE" ,cFile )
oTable:Replace("DIR_SIZE" ,nSize )
oTable:Replace("DIR_NUMERO",nNumero )
oTable:Replace("DIR_TXT" ,lText )
oTable:Commit(oTable:cWhere)
oTable:End()
User avatar
jnavas
 
Posts: 473
Joined: Wed Nov 16, 2005 12:03 pm
Location: Caracas - Venezuela

Previous

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 12 guests