Arsip: [ASK] : Delete record hasil query

 
user image
more 8 years ago

akbaaar

para master, tolongin ane nih.. nih kasusnya contoh misalnya, gw punya tabel kota(id, nmkota, idprov) dan provinsi(idprov, nmprov). dalam aplikasi gw, ada tiga komponen, TKota, qryBaca, dan DSKota. DSKota koneksi ke qryBaca. di dalam DBGrid, gw menampilkan field idkota, nmkota, dan nmprovinsi. nah sekarang permasalahannya adalah, ketika gw delete record melalui qryBaca.delete. ini ga bisa dengan eror 'cannot update a complex query with more than one table' gw coba lagi, pake TKota.delete. Ini berhasil dihapus gan, tapi ga sesuai dengan cursor record yang ditunjuk, karena DBGrid berisikan qryBaca, bukan TKota.. nah, gmana nih teman - teman dan para master sekalian. ada yang bisa bantu ga? :D
user image
more 8 years ago

hendrang

@akbaaar: para master, tolongin ane nih.. nih kasusnya contoh misalnya, gw punya tabel kota(id, nmkota, idprov) dan provinsi(idprov, nmprov). dalam aplikasi gw, ada tiga komponen, TKota, qryBaca, dan DSKota. DSKota koneksi ke qryBaca. di dalam DBGrid, gw menampilkan field idkota, nmkota, dan nmprovinsi. nah sekarang permasalahannya adalah, ketika gw delete record melalui qryBaca.delete. ini ga bisa dengan eror 'cannot update a complex query with more than one table' gw coba lagi, pake TKota.delete. Ini berhasil dihapus gan, tapi ga sesuai dengan cursor record yang ditunjuk, karena DBGrid berisikan qryBaca, bukan TKota.. nah, gmana nih teman - teman dan para master sekalian. ada yang bisa bantu ga? :D
Karena recordset qryBaca itu hasil join dari kota dan provinsi jadi tidk bisa dihapus. Kebanyakan database memang tidak memperbolehkan menghapus data dari query yang hasil join dari bbrp table.
user image
more 8 years ago

halimanh

Bisa pake command (TADoCommand) dengan parameter id, idnya diambil dari qryBaca.

 adocommand1.connection := adoconnection1;
 adocommand1.commandText :=  'delete from kota where id = :id;';
 adocommand1.Parameters.ParamByName('id').value  := dbgrid1.datasource.dataset.fieldByName('id').asString;
 adocommand1.execute;

 qryBaca.close;
 qryBaca.open;
@akbaaar: para master, tolongin ane nih.. nih kasusnya contoh misalnya, gw punya tabel kota(id, nmkota, idprov) dan provinsi(idprov, nmprov). dalam aplikasi gw, ada tiga komponen, TKota, qryBaca, dan DSKota. DSKota koneksi ke qryBaca. di dalam DBGrid, gw menampilkan field idkota, nmkota, dan nmprovinsi. nah sekarang permasalahannya adalah, ketika gw delete record melalui qryBaca.delete. ini ga bisa dengan eror 'cannot update a complex query with more than one table' gw coba lagi, pake TKota.delete. Ini berhasil dihapus gan, tapi ga sesuai dengan cursor record yang ditunjuk, karena DBGrid berisikan qryBaca, bukan TKota.. nah, gmana nih teman - teman dan para master sekalian. ada yang bisa bantu ga? :D
[/code]
user image
more 8 years ago

akbaaar

makasih gan sarannya, tapi gw pakenya zeos, jad gmana? kalo pake zeos, kira2 pake komponen apa ya, hmm
user image
more 8 years ago

akbaaar

gan ko gw kalo bikin parameter kaya gitu selalu eror 'parameter 'idkota' not found' kenapa ya
user image
more 8 years ago

hendrang

@akbaaar: gan ko gw kalo bikin parameter kaya gitu selalu eror 'parameter 'idkota' not found' kenapa ya
qryBaca.Delete masih bisa dipakai dengan mengubah SQL qryBaca hanya query data table kota aja sedangkan untuk menampilkan nama propinsi di dbgrid pakai Field Lookup yg dicreate di qryBaca.
user image
more 8 years ago

halimanh

Yah di create aja parameternya, di object inspectornya kan ada property parameters.
@akbaaar: gan ko gw kalo bikin parameter kaya gitu selalu eror 'parameter 'idkota' not found' kenapa ya
user image
more 8 years ago

akbaaar

gan, ternyata ga pake parameter bisa. cukup pake komponen sqlproc di zeos, terima kasih atas masukannya, gw jg akhirnya tau parameter kaya gmana :D
more ...
  • Pages:
  • 1
Local Business Directory, Search Engine Submission & SEO Tools FreeWebSubmission.com SonicRun.com