Estoy en lo correcto? - Forum

Forum Navigation
You need to log in to create posts and topics.

Estoy en lo correcto?

Hola luis@hp, gente, tengo que obtener la suma de todos los registros de un determinado cajero de mi base de datos...

La tabla que contiene tanto los cajeros como los registros de saldos se llama (saldo)

la sentencia en SQLITE 3  SERIA:

SELECT SUM(saldo_credito) As Resultado FROM saldo WHERE cajero = 'cajero'

Quiero usar el comando neoPhpExecSql para poder ejecutar esa sentencia sql y pense en algo asi...

neoPhpExecSql "db1" "Select" "SUM(saldo_credito) As Resultado FROM saldo WHERE cajero ="[cajero]" "[respuesta]"

Subrutina RESPUESTA

Setvar "[resultado]" "[Saldo]"

ALIAS
[resultado] INTEGER Respuesta del servidor

Pero mi duda es con relacion a las variables resultado y cajero no se si estan correctamente puestas...

DESDE YA GRACIAS SI ME PUEDEN CONFIRMAR

neoPhpExecSql "db1" "Select" "SUM(saldo_credito) As Resultado FROM saldo WHERE cajero ="[cajero]" "[respuesta]"

@joferar333 Esto no se puede hacer, sería un problema grave de seguridad. Todas las sentencias SQL deben estar recogidas en config.php y utilizarse mediante un alias.

@luishp

Me acabas de pegar un palo en mi cabeza... jajaja

Me mataste... no tengo la menor idea de como seria poder hacer eso en el config.php para usar el alias

Te repito que no existe un problema de seguridad en mi proyecto porque es algo personal no es para ningun usuario

estoy sacando las formulas y sentencias de IA me las da correctas solo que se me complica el interpretar como aplicar estas sentencias en la app

crei que con ese comando resolveria el tema....

Pero al leer tu respuesta y ver el config.php me parece entender que seria algo asi... puede ser?

 

//Sumar
$sqlAlias[4]="sumar";
$sqlQuerys[4]="SELECT SUM(saldo_credito) As Resultado FROM saldo WHERE cajero = 'cajero'";  (NO SE SI ESA BIEN DECLARADA ESA VARIABLE)
$sqlMaxUserLevel[4]=-1;

Entonces todas las sentencias que quiera ejecutar debo hacer lo mismo cambiandole el numero y no duplicando los nombres de los alias...

Ahora como llamo desde la app ese alias SUMAR

Mil perdones por mi ignorancia pero te aseguro que lo voy a aprender....

gracias @luishp como siempre por tu infinita paciencia

@joferar333 por favor revisa detenidamente los videos donde se explica como crear una aplicación con bases de datos y las aplicaciones de ejemplo.

Esto no es correcto:

$sqlQuerys[4]="SELECT SUM(saldo_credito) As Resultado FROM saldo WHERE cajero = 'cajero'";

Lo correcto sería:

$sqlQuerys[4]="SELECT SUM(saldo_credito) As Resultado FROM saldo WHERE cajero = ?";

El interrogante es la variable que envías desde neoPhpExecSql. Puedes enviar tantas variables como quieras a tu Query en el tercer parámetro, separando unas de otras con "::" tal y como se explica en la ventana de ayuda del propio comando.

Es muy importante que entiendas como funciona antes de intentar hacer ninguna aplcación.
En los videos se explica paso a paso.

Saludos.

susan has reacted to this post.
susan

 

 

Estube viendo el video, y con lo que me respondiste comprendi el tema de como declarar las sentencias en el config.php tomando tu respuesta

 

 

$sqlQuerys[4]="SELECT SUM(saldo_credito) As Resultado FROM saldo WHERE cajero = ?";

//Sumar

$sqlAlias[4]="sumar";
$sqlQuerys[4]="SELECT SUM(saldo_credito) As Resultado FROM saldo WHERE cajero = ?";  

$sqlMaxUserLevel[4]=-1;

Hasta aqui perfecto....

deberia ejecutar neoPhpExecSql "db1" "sumar" "SELECT SUM(saldo_credito) As Resultado FROM saldo WHERE cajero = ?" "sumar"

ahora he visto que casa query tiene en la aplicacion una rutina y es aqui donde patino

yo tendria que hacer una rutina que se llame sumar y detro de ella tomar el valor de la variable Resultado y con ella seguir la accion que desee....?

por ejemplo

SetVar "[credito]" "[resultado]"

creo que esto es correcto ya puedo comprender como funcionaria

 

 

 

deberia ejecutar neoPhpExecSql "db1" "sumar" "SELECT SUM(saldo_credito) As Resultado FROM saldo WHERE cajero = ?" "sumar"

No, no puedes poner una sentencia SQL en neoPhpExecSql, solo el alias que referencia a la sentencia SQL que tienes en config.php. En su lugar deberías poner el valor de ?, es decir el valor de cajero.
En la subrutina es donde recoges los valores que devuelve la sentencia SQL, tal y como se muestra en los vídeos y en la aplicación de ejemplo.

@luishp

Buen dia luis,  despues de tus respuestas y de ver una y otra vez los videos y investigar el ejemplo de listing telefonico por fin me di cuenta como funciona...
ya tengo claro que todas las sentencias sqlite3 deben configurarse y establecerse en el config.php, asignandoles un alias (que no este duplicado y un numero de orden en los 3 estamentos de esa query.

Me costo, te aseguro que me costo pero como soy un viejo muy obstinado no pare hasta lograrlo.

Lo unico que me faltaria lograr que no encuentro guia ni ejemplo es como puedo tomar todos los registros de un determinado campo de la base de datos, por ejemplo cajeros de la tabla usuarios y el listado resultante colocarlo dentro de un combobos o listbox

Por ultimo te hago una pregunta tonta porque a lo mejor esta y no me doy cuenta, hay alguna forma de poder exportar las subrutinas para poder tenerlas en forma externa y poder reutilizarlas en caso que se requiera algo similar

Saludos