Page 1 of 1

mariadb

Posted: Sun May 16, 2021 4:11 pm
by Dioni
Buen dia...
Una consulta como puedo eliminar un registro pero que cumpla la condicion
bcodi es en nombre de un campo de la tabla cont0500

oRs := oCn:RowSet( "cont0500" ) // "lecturas" es una tabla de cDatabasename
oRs:GoTop()
Whil !oRs:Eof()
If Subs(oRs:bcodi,1,1)="1"
oRs:Delete();oRs:Save()
Endi
oRs:Skip(1)
End
XBROWSER oRs FASTEDIT

Re: mariadb

Posted: Wed May 19, 2021 8:16 pm
by Dioni
Hola nadie sabe como eliminar un registro?
en mariadb

Re: mariadb

Posted: Thu May 20, 2021 12:09 am
by sysctrl2
Hola te recomiendo que uses codigo nativo de SQL.

Re: mariadb

Posted: Thu May 20, 2021 12:12 am
by sysctrl2
/* oRs := oCn:RowSet( "cont0500" ) // "lecturas" es una tabla de cDatabasename
oRs:GoTop()
Whil !oRs:Eof()
If Subs(oRs:bcodi,1,1)="1"
oRs:Delete();oRs:Save()
Endi
oRs:Skip(1) */

cQry := "DELETE FROM cont0500" + CLRF
cQry += "WHERE bcodi=" + ClipValue2SQL( "1" )
oCn:Execute( cQry )

Re: mariadb

Posted: Thu May 20, 2021 12:15 am
by sysctrl2
cQry := "DELETE FROM cont0500" + CLRF
cQry += "WHERE SUBSTRING(bcodi,1,1)=" + ClipValue2SQL( "1" )
oCn:Execute( cQry )

Re: mariadb

Posted: Thu May 20, 2021 1:25 pm
by nageswaragunupudi
Dioni wrote:Buen dia...
Una consulta como puedo eliminar un registro pero que cumpla la condicion
bcodi es en nombre de un campo de la tabla cont0500

oRs := oCn:RowSet( "cont0500" ) // "lecturas" es una tabla de cDatabasename
oRs:GoTop()
Whil !oRs:Eof()
If Subs(oRs:bcodi,1,1)="1"
oRs:Delete();oRs:Save()
Endi
oRs:Skip(1)
End
XBROWSER oRs FASTEDIT


Code: Select all | Expand


oCn:Execute( "DELETE FROM `cont0500` WHERE `bcodi` LIKE '1%'" )
oRs := oCn:RowSet( "cont0500" )
XBROWSER oRs FASTEDIT
 

Re: mariadb

Posted: Sat May 22, 2021 3:00 am
by Dioni
Excelente amigos Gracias por la ayuda Funciono

si busco, y quiero eliminar todos los registros que cumplan un acondision
bcodi:='102125225212252'

If Subs(oRs:bcodi,4,2)="1" asi se hace en archivos dbf's

y en mariadb seria asi ?
oCn:Execute( "DELETE FROM `cont0500` WHERE `bcodi` LIKE '12%'" )

como le digo que subs(bcodi,4,2)='12'

soy nuevo en mariadb gracias

Re: mariadb

Posted: Sat May 22, 2021 3:39 am
by nageswaragunupudi
"WHERE bcodi LIKE '12%'" is same as "SUBSTR( bcodi, 1, 2 ) = '12'"
"WHERE bcode LIKE '___12%'" is same as "SUBSTR( bcodi, 4, 2 ) = '12'"

LIKE is case insensitive

The percentage ( % ) wildcard matches any string of zero or more characters.
The underscore ( _ ) wildcard matches any single character.