![]() |
dudas sobre uso de query, clientdataset en ADO
hola de nuevo a todos
llevo pegandome con esto ni se sabe... intento hacer un programa de facturacion en el que ya tengo la BBDD hecha y llena segun me dijo bluesteel hay algun ejemplo de facturacion en el ftp, pero lo unico que encontre fue ejemplos de ADO y use uno de ellos para cargar tablas en formularios, como muestro a continuacion // Conectar ADOConnectionAC.Open; // Preparar la Query ADOQueryAC.Close; // por si acaso ADOQueryAC.SQL.Clear; //Cargar los datos de la tabla AC ADOQueryAC.SQL.Add('Select * from [Cabecera Facturacion Compras]where Serie=''AC'''); // Activar la consulta ADOQueryAC.Open; // Enganchar el TClientDataSet (se utiliza el Provider) DataSetProviderAC.DataSet := ADOQueryAC; // Activar el DataSet ClientDataSetAC.Open; // Cerrar la consulta ADOQueryAC.Close; esto funciona cargo los datos en el clientedatasetAC-->datasource-->dbedit o dbgrid pero el dbedit no me deja modificarlo en tiempo de ejecucion, por lo que no puedo cambiar valores cosa que no entiendo ademas uso un DBlookupcombobox para cambiar el cliente en el albaran y una vez elegido modifico automaticamente los dbedit relacionados con el cliente(direccion , poblacion,etc...pob.EditText:= (ClientDataSetprov.FieldByName('poblacion').AsString);) lo cual nunca llegara a guardarse en la BBDD, solo en memoria, dado q si el query esta cerrado, no sabe como guardase creo una de mis preguntas es - ¿¿¿como hacer que se guarden en la BBDD cuando se modifique o yo crea conveniente hacerlo??? - ¿¿es buena idea el query para estas cosas?? - ¿hay ejemplos mas especificos para lo que hago?? - al abrir el form quiero q se conecte a la BBDD ¿uso form.onactivate, onshow o oncreate??? - y al cerrarlo desconectar el adoconection ¿supungo en onclose, no??? muchas dudas que hacden que no avance nada, a ver si alguien puede echarme una mano, gracias a todso |
Hola, tratare de responder a tus preguntas
Cita:
". Cita:
Cita:
Cita:
Cita:
Saluditos |
gracias por la rapidez
en cuanto a lo de ClientDataSet1.ApplyUpdates(-1)" lo use tambien, pero como tu dices me debio dar error por tener cerrado el query pero es que ese query lo reutilizo para cargar datos en otros 3 datasetprovider, por lo que la habro y cierro 3 veces, supongo que si simplemente antes de hacer el ClientDataSet1.ApplyUpdates(-1)" hago ADOQueryAC.Open funcionaria??? o tendria que hacer otra vez ADOQueryAC.SQL.Add('Select * from [Cabecera Facturacion Compras]where Serie=''AC'''); antes??? dado que el sql que guarda seguramente no tenga nada que ver con el de este clientdataset y una cosa mas ¿¿¿¿se puede asignar campos al DBedit, que pueden que esten vacios?? (son string) es que a mi me falla cuando les hago esto |
La franja horaria es GMT +2. Ahora son las 21:05:57. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi