insertar registro en Delphi xe3 dbexpress y sqlite
Buenos dias compañeros tengo una duda que no logro resolver, resulta que estoy tratando de hacer una aplicacion con sqlite, tengo la siguiente configuracion en los componentes:
Tsqlconnection->Tsqldataset->tdatasetprovider->Tclientdataset->tdatasource tengo conectado varios tdbedit y un tdbgrid al tdatasource, lo cual si muestra los datos, pongo en modo de inserccion de esta manera
y en el grid aparece el registro como agregado, pero creo que a la hora de grabar en la bd me hace falta alguna sentencia ya que el cambio no se refelja en la bd con el post
alguna idea de lo que pudiera estar pasando, gracias de antemano |
Recuerda que los ClientDataSets mantienen los registros en memoria y para enviar todos los cambios (altas, bajas, modificaciones) a la base de datos hace falta llamar a su método ApplyUpdates:
Por cierto, "Active := True" es lo mismo que "Open" (con la llamada a Open basta para abrirlo). Saludos. :) |
Cita:
gracias por la respuesta, pero sigue sin grabar, segun la ayuda hace falta llamar otro metodo del datasetprovider, pero al usar este codigo sigo obteniendo que no inserta
|
Cita:
También toma en cuenta que el conjunto de datos cliente no enviará al proveedor registros que realmente no signifiquen un cambio (nuevos vacíos, o sin modificaciones). Para salir de dudas, puedes verificar el valor de la propiedad ChangeCount justo antes de hacer el ApplyUpdates. Si ChangeCount es 0, significa que no hubo nada que se haya capturado y por tanto no enviará nada a la base de datos. También es recomendable que el proveedor lo tengas con su propiedad ResolveToDataSet en False. Y, una pregunta más, ¿qué consulta SQL tienes en el TSQLDataSet? |
Cita:
hola al gionzalez, tienes tu boca llena de razon, lo que me hacia falta era poner esta propiedad a false, ResolveToDataSet en False . ahora ya graba :D pero me surge unda duda tengo un campo auntoincremental, pero creo que el sqlite lo inserta hasta que se guarda el registro es eso correcto?? mil gracias por tu ayuda :D por cierto por el momento no ejecuto ningun comando sql, lo tengo ligado a una tabla, pero me supongi que el sql que deberia llevar es como en las versiones de delphi 7 , la famosa consulta vacia select * from tablas where 1=0 saludos |
Cita:
uffs creo que no funciona, marca error en los tipos de datos, alguna idea ?? :( |
La franja horaria es GMT +2. Ahora son las 06:37:20. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi