Page 1 of 1

fallo en la insercion

PostPosted: Tue Mar 12, 2019 10:58 pm
by artu01
Gente:
a pesar que creo campos con valor por default al momento de insertar me bota error si hago asi

Code: Select all  Expand view

cSQL := " insert into #ppru "
cSQL += "values('123456','T25CD',,,20.4444,120.00,,,'01','T25CD')"
 


pero si le paso valores a todos los campos inclusive a los campos con valor por defecto, no tengo falla de insercion
Code: Select all  Expand view

    cSQL := " insert into #ppru "
    cSQL += "values('123456','T25CD',0,0,20.4444,120.00,0,0,'01','T25CD')"
 


Asi trabaja ADO o es que estoy haciendo algo mal?
Code: Select all  Expand view

    cSQL := "CREATE TABLE #ppru"
    cSQL += "("
    cSQL += "numero CHAR(6) NOT NULL, "
    cSQL += "articu VARCHAR(10) NOT NULL, "
    cSQL += "cantid int DEFAULT 0, "
    cSQL += "mts INT DEFAULT 0,"
    cSQL += "precio NUMERIC(12,4),"
    cSQL += "total NUMERIC(10,2),"
    cSQL += "unid int DEFAULT 0,"
    cSQL += "stock int DEFAULT 0,"
    cSQL += "codusu char(6) NOT NULL,"
    cSQL += "subart varchar(10) "
    cSQL += ")"

    Try
        oCon:Execute( cSQL )
    Catch
        MsgInfo( "Table Create ppru Failed" )
    End try

    cSQL := " insert into #ppru "
    //cSQL += "values('123456','T25CD',,,20.4444,120.00,,,'01','T25CD')"      ===> consigo error en la insercion
    cSQL += "values('123456','T25CD',0,0,20.4444,120.00,0,0,'01','T25CD')"   ===> sin error

    Try
        oCon:Execute( cSQL )
    Catch
        MsgInfo( "Fallo en la insercion" )
    End try
 

Re: fallo en la insercion

PostPosted: Wed Mar 13, 2019 11:38 am
by cmsoft
Indicale que campos queres llenar con los valores.
Code: Select all  Expand view

cSQL := " insert into #ppru (numero,articu,precio,total,codusu,subart) "
cSQL += "values('123456','T25CD',20.4444,120.00,'01','T25CD')"
 

Re: fallo en la insercion

PostPosted: Wed Mar 13, 2019 2:25 pm
by artu01
Gracias Cesar no recordaba que podía hacerlo de esa forma

Re: fallo en la insercion

PostPosted: Thu Mar 14, 2019 12:41 am
by nageswaragunupudi
You can also write
Code: Select all  Expand view
  cSQL += "values('123456','T25CD',DEFAULT,DEFAULT,20.4444,120.00,DEFAULT,DEFAULT,'01','T25CD')"
 

Re: fallo en la insercion

PostPosted: Thu Mar 14, 2019 1:33 pm
by artu01
Thank Mr. Rao !
i'll try that alternative

Re: fallo en la insercion

PostPosted: Fri Mar 15, 2019 4:42 am
by Armando
artu01:

La opciones que te han sugerido por supuesto funcionan aunque tienen un pequeño
inconveniente, puedes perder la relación entre el nombre de un campo y su
correspondiente valor, una opción que puede ayudar es esta:

Code: Select all  Expand view

            cCmdSql := "INSERT INTO " +;
                                "AppSap.DetNdc " +;
                            "SET " +;
                                "DET_SER = '" + oRsFil:Fields("DET_SER"):Value + "'," +;
                                "DET_NDC = " + STR(oRsFil:Fields("DET_NDC"):Value,07,0) + "," +;
                                "DET_CTD = " + STR(oRsFil:Fields("DET_CTD"):Value,09,3) + "," +;
                                "DET_UDM = '" + oRsFil:Fields("DET_UDM"):Value + "'," +;
                                "DET_POR = " + STR(IIF(oRsFil:Fields("DET_POR"):Value,1,0),1,0) + "," +;
                                "DET_DES = '" + cDes + "'," +;
                                "DET_PUN = " + STR(oRsFil:Fields("DET_PUN"):Value,11,2) + "," +;
                                "DET_IMP = " + STR(oRsFil:Fields("DET_IMP"):Value,11,2)
            TRY
                oApp:oCon:Execute(cCmdSql)
            CATCH oError
                MsgInfo("No pude ejecutar el comando " + cCmdSql,oApp:cAplicacion)
                oApp:oCon:ShowError()
            END
 


Saludos

Re: fallo en la insercion

PostPosted: Sat Mar 16, 2019 12:13 am
by artu01
Muchas gracias armando por tu ayuda!