Aplicacion con DB

Como indica el nombre del foro en el moveremos todos los temas de dudas que se resuelvan con exito .
Este foro no tendra permisos de escritura.
Hola

Tengo el siguiente problema:

estoy creando una especie de calculadora con DB (mas que nada para experimentar, asi que si me pueden explicar mas o menos como hacerlo para que comprenda se los agradeceria).

en este caso nada mas son 2 "textos" los que se guardan "Nombre del recurso" y "Costo del recurso" estos se guardan en la DB "Usuarios.DB" (el nombre se lo cambiare a recursos pero por ahora y en lo que encuentro el funcionamiento de esto no lo eh movido de como estaba en el ejemplo) y al iniciar la aplicacion se muestran en una ListBox (cosa que por cierto me da error al iniciar la aplicacion).

Abajo de la ListBox hay 2 inputs (nº de recursos y total) y un Xbutton (Calcular). aqui lo que quiero hacer (que como no se sacar los datos de la DB ademas de como lo usa la ListBox no eh hecho nada en esta parte) es:

Digamos que el nombre del recurso es "pelo" y el costo es "50" y esta seleccionado en la listbox y yo pongo en nº de recursos "10" al dar en el xbutton se multiplica el costo por el nº de recursos y el resultado se pone en Total y ya :) :) :) :) :) haber si me pueden ayudar...

Adjunto mi .Apz (Que es realmente un ejemplo de DB modificado)

Código: Seleccionar todo

http://www.mediafire.com/?06aht5n0058xaz0
Y os dejo el ejemplo original

Código: Seleccionar todo

http://www.mediafire.com/?6rjdztdgud7wo9d
no te entiendo muy bien lo que queres hacer ya te repare el erro que tenias pero no logro entender que onda con lo del calculo....
Bueno lo del calculo es mas o menos asi:

Abajo de la ListBox hay 2 inputs (nº de recursos y total) y un Xbutton (Calcular). aqui lo que quiero hacer es:

Por ejemplo digamos que como nombre de recurso pongo "Perro" y en costo recurso escogo "100" el costo se multiplicara por el nº que este en nº de recursos (si yo puse 100 en costo y 10 en nº seria 100*10 = 1000) ese 1000 se pone en el input de Total. es todo :3 el costo quiero que lo saque de el recurso que este seleccionado en la listbox :3 espero haberme dado a entender mejor
ok aqui te dejo el apz
 

Código: Seleccionar todo

http://hotfile.com/dl/128877407/dafb7a1/Calculadora_compra_de_recursos.apz.html
Espero te sea de ayuda y le entiendas, si no solo pregunta que te ayudo en lo que pueda.
Ok, gracias :D por cierto... tengo una duda sobre tu ejemplo. el codigo
SQLite.Query(db,"CREATE Table usuarios (RecordID integer primary key, Clave text, Nombre text, Apellido text, Direccion text, Telefono text, Fecha text)");
Dice que se va a crear la tabla "Usuarios" con las opciones Clave, nombre, apellido, direccion y telefono. pero en la consulta ademas de todo aparece ID de usuario y esa no esta en el codigo... ¿en donde se guarda esta?
bueno los campos que componen la tabla son los siguientes: RecordID, Clave, nombre, apellido, direccion y telefono Estos son todos los campos el RecordID es el ID o clave principal aunque se le conoce como indice auto incremental por ello tenemos esos campos toda tabla debe de tener un Indice para poder manejar el orden de los datos almacenados en ella.

TEXT es el tipo de campo en este caso usamos text para darle un valor alfanumérico que puede almacenar letras, símbolos y números.

Bueno espero me aya explicado bien.
si, ya me queda claro :3 gracias Agotaras
Otra pequeña duda, como hago para borrar un grupo de informacion de la base datos... (no se como se llaman xD) algo asi como la de pelo.
Bueno aquí te dejo el script ponlo en el procedimiento On CLick.
Borrar = Dialog.Message("Confirmación de la eliminación", "Vas a Borrar un Registro Estas Seguro?", MB_YESNO, MB_ICONINFORMATION, MB_DEFBUTTON1);
if Borrar == 6 then
tSelected = ListBox.GetSelected("ListBox1");
if tSelected then
	nSelected = tSelected[1];
	nRecordID = String.ToNumber(ListBox.GetItemData("ListBox1", tSelected[1]));
	SQLite.Query(db, "DELETE FROM TuTabla WHERE RecordID = "..nRecordID);
	ListBox.AddItem("ListBox1", "", "")
	nLastError = Application.GetLastError();
	if nLastError ~= SQLite.OK then
		Dialog.Message("Error: " .. nLastError, SQLite.GetLastErrorString());
	end
	end
Page.Jump("Page1");
else
Dialog.Message("Error", "No Tienes Seleccionado Nada");
end
Bueno esto es Básico pero hay muchas maneras de borrar registros de una tabla.
Lo eh puesto asi:
Borrar = Dialog.Message("Confirmación de la eliminación", "Vas a Borrar un Registro ¿Estas Seguro?", MB_YESNO, MB_ICONINFORMATION, MB_DEFBUTTON1);
if Borrar == 6 then
tSelected = ListBox.GetSelected("ListBox1");
if tSelected then
        nSelected = tSelected[1];
        nRecordID = String.ToNumber(ListBox.GetItemData("ListBox1", tSelected[1]));
        SQLite.Query(db, "DELETE FROM TBLrecursos WHERE RecordID = "..nRecordID);
        ListBox.AddItem("ListBox1", "", "")
        nLastError = Application.GetLastError();
        if nLastError ~= SQLite.OK then
                Dialog.Message("Error: " .. nLastError, SQLite.GetLastErrorString());
        end
        end
Page.Jump("Page1");
else
Dialog.Message("Error", "No Tienes Seleccionado Nada");
end
Pero seleccionando algo o no seleccionando me pregunta si estoy seguro del borrado. y cuando esta seleccionado no borra nada
en tu tabla tienes TBLrecursos y realmente el nombre es Recursos modifica eso por ello no te borra.
Ya lo intenete con
TBLrecursos
Recursos
recursos
y sigue sin borrar nada :S

Ademas si doy click en el button borrar y le doy que si aunque no este seleccionado nada me dice para borrar :S y si le doy que no ya me da error >.<
Burno otrometodo para borrar en bases de datos SQLite es este:
DELETE FROM Recursos WHERE Nombre = "Pelo"


Donde Recursos es la Tabla
Nombre es el Campo o Columna de la tabla
y Pelo es el Registro.

Todo es que lo adaptes a tu script o te desarrolles un filtro básico para que funcione de manera mas fácil.
Tampoco >.< y no se que estoy haciendo mal :S esto es lo que eh hecho

Código: Seleccionar todo

http://www.mediafire.com/?wfvdvchkg621b87
y perdon por ser tan molesto :hypno:
Haber tus errores son fallos humanos , no de codigo si tu llamas al listbox "ListBox1" cunado se llama "nombre_List" es como si llamas a los bomberos con un teléfono de juguete , yo que se... hay que mirar un poco antes de darse por vencido ,muchas veces son fallos de syntaxis y chorradas lo nos hace ir de cabeza.
Por otro lado en la consulta de Borrar en tu script tu tabla se llama "TBLrecursos" y tu llamas "resursos" otra de lo mismo...
al final la cosa del boton borrar queda asi:
Borrar = Dialog.Message("Confirmación de la eliminación", "Vas a Borrar un Registro Estas Seguro?", MB_YESNO, MB_ICONINFORMATION, MB_DEFBUTTON1);
if Borrar == 6 then
tSelected = ListBox.GetSelected("nombre_List");
if tSelected then
        
        nRecordID = ListBox.GetItemData("nombre_List", tSelected[1]);
        SQLite.Query(db, "DELETE FROM TBLrecursos WHERE RecordID = "..nRecordID);
        nLastError = Application.GetLastError();
        if nLastError ~= SQLite.OK then
               Dialog.Message("Error: " .. nLastError, SQLite.GetLastErrorString());
        end
        end
Page.Jump("Page1");
else
Dialog.Message("Error", "No Tienes Seleccionado Nada");
end
No me habia dado cuenta :S jeje estuve checando todo menos el nombre de la listbox :) :) gracias rafax

Otra problema: :S

Al seleccionar un registro me suelta:

Imagen

y solo me pasa con uno (Que por cierto no me permite borrar)
El nombre es pomhk y el costo es 5999

Y cuando doy en borrar aunque no este seleccionado nada no me suelta el mensaje que lo dice, solo lo lanza cuando doy en que no quiero borrar un registro.
podrias poner la linea 18 de on select del listbox?
Haber el codigo de on select seria:
--obtener elemento seleccionado y almacenar en una tabla
tSelected = ListBox.GetSelected("nombre_List");

--tSelected si contiene cualquier cosa, hacer esto.
--(si tSelected ser? nulo si no hay nada seleccionado)
if tSelected then
--****************************************************************************
	--obtener el ID de registro del elemento seleccionado
	nRecordID = String.ToNumber(ListBox.GetItemData("nombre_List", tSelected[1]));

	--utilizar el RecordID para obtener la informaci?n para el registro
	tInfo_Selected = SQLite.QueryToTable(db, "Select * from TBLrecursos Where RecordID="..nRecordID)

--****************************************************************************

	--------*******************************************-----------------
	--Obtener los datos por los campos de la base de datos
	nRecordID = tInfo_Selected.Data[1]["RecordID"];
	sNombre = tInfo_Selected.Data[1]["Nombre"];
	sDireccion = tInfo_Selected.Data[1]["Direccion"];

	
	--De los datos de salida por los campos a la casilla de entrada DVD_Info
	Input.SetText("inpId", nRecordID)
	Input.SetText("inpNombre", sNombre)
	Input.SetText("inpDireccion", sDireccion)

	end

Input.SetText("Total input", nRecordID);	
Button.SetEnabled("Editar_btn", true);
Y la linea 18 seria
	nRecordID = tInfo_Selected.Data[1]["RecordID"];
¿Nadie? aun no logro solucionarlo :S
Bueno, según he visto en todo el hilo la tabla se llama recursos en vez de TBLrecursos, puede ser uno de los problemas.