Author Topic: update dan hapus data pada mysql menggunakan RV  (Read 4922 times)

0 Members and 1 Guest are viewing this topic.

need_help

  • Guest
update dan hapus data pada mysql menggunakan RV
« on: January 07, 2010, 11:05:39 AM »
mau tanya , gimana cara update dan delete menggunakan RV dg database mysql

saya sudah download tuto spt dari web mas MZTOLO (makasih mas MZTOLO atas tutonya!)
begini cara simpan saya
menggunakan RV
Code: [Select]
SELECT CURBARANG
GO TOP
INSERT INTO curbarang values(lckd,lcnmbrg,lcsat)
WITH ThisForm
BEGIN TRANSACTION
IF TABLEUPDATE(.f.,.T.,'curbarang')
MESSAGEBOX('sukses')
END TRANSACTION
ELSE
MESSAGEBOX('gagal')
ROLLBACK
TABLEREVERT(.t.,'curbarang')
endif
.Refresh
ENDWITH
untuk update dan delete isi table
saya melakukan update dan delete pada table cursor nya kemudian menggunakan fungsi tableupate()
apakah cara tersebut sudah benar?
 kalo untuk delete pada Tutorial mas MZtolo menggunakan cara sebagai berikut
Code: [Select]
**
IF MESSAGEBOX('Yakin Hapus ?',36,'Hapus...')=6
SQLEXEC(lnhandle,'delete from tblsiswa where nis=?_nis')
SQLEXEC(lnhandle,'select * from tblsiswa','tbl_s')

SELECT tbl_s
CURSORSETPROP("Tables","tblsiswa")
CURSORSETPROP("KeyFieldList","nis")
CURSORSETPROP("UpdatableFieldList","nis, nama, kota, tgllhr, jkel, tabungan")
CURSORSETPROP("UpdateNameList","nis tblsiswa.nis,nama tblsiswa.nama,;
kota tblsiswa.kota,tgllhr tblsiswa.tgllhr,jkel tblsiswa.jkel,tabungan tblsiswa.tabungan")
CURSORSETPROP("SendUpdates",.t.)
ENDIF
mohon pencerahannya

Offline ganaz

  • Junior Member
  • *
  • Posts: 237
Re: update dan hapus data pada mysql menggunakan RV
« Reply #1 on: January 07, 2010, 12:39:06 PM »
1. ** Pembuatan Cursor
Code: [Select]
SQLEXEC(lnhandle,'select * from tblsiswa','tbl_s')
2. **Pendefinisian Properties Cursor pada proecedure INIT
Code: [Select]
SELECT tbl_s
CURSORSETPROP("Buffering",3)
CURSORSETPROP("Tables","tblsiswa")
CURSORSETPROP("KeyFieldList","nis")
CURSORSETPROP("UpdatableFieldList","nis, nama, kota, tgllhr, jkel, tabungan")
CURSORSETPROP("UpdateNameList","nis tblsiswa.nis,nama tblsiswa.nama,kota tblsiswa.kota,tgllhr tblsiswa.tgllhr,jkel tblsiswa.jkel,tabungan tblsiswa.tabungan")
CURSORSETPROP("SendUpdates",.t.)
3. **Perintah Update, Insert, Delete
Code: [Select]
INSERT INTO TBL_S (nis, nama, kota, tgllhr, jkel, tabungan) values ((xnis), (xnama), (xkota), (xtgllhr), (xjkel), (xtabungan))
UPDATE TBL_S SET nama=XNAMA, kota=XKOTA, tgllhr=TGLLHR, jkel=XJKEL, tabungan=XTABUNGAN WHERE nis=XNIS
DELETE from tbl_s where nis=xnis
4. **Pendefinisian Properties Cursor pada setelah proses nomor 3
Code: [Select]
SELECT tbl_s
CURSORSETPROP("Buffering",3)
CURSORSETPROP("Tables","tblsiswa")
CURSORSETPROP("KeyFieldList","nis")
CURSORSETPROP("UpdatableFieldList","nis, nama, kota, tgllhr, jkel, tabungan")
CURSORSETPROP("UpdateNameList","nis tblsiswa.nis,nama tblsiswa.nama,kota tblsiswa.kota,tgllhr tblsiswa.tgllhr,jkel tblsiswa.jkel,tabungan tblsiswa.tabungan")
CURSORSETPROP("SendUpdates",.t.)

urutannya gitu yang saya pakai
Thank'z


Ganaz

need_help

  • Guest
Re: update dan hapus data pada mysql menggunakan RV
« Reply #2 on: January 07, 2010, 03:35:35 PM »
mas jika untuk transaksi metodenya gimana mas ?
misal kita punya cursor kosong transaksi(sebagai tabel sementara)
kemudian kita ingin mengupdate ke table fisik,gimana caranya ?
tidak bisa ya jika menggunakan RV ?
mohon pencerahan, maaf masih awam mysql

 :)

Offline ganaz

  • Junior Member
  • *
  • Posts: 237
Re: update dan hapus data pada mysql menggunakan RV
« Reply #3 on: January 07, 2010, 04:03:27 PM »
tinggal gini aja mas
1. buat sebuah cursor
Code: [Select]
CREATE CURSOR TBL_S ;
(nis c(5), nama C(30), kota C(20), tgllhr D(8), jkel C(10), tabungan N(10))
2. selanjutnya ikutan langkah di atas kecuali langkah 1

mohon pencerahan, maaf masih awam mysql
halah mas, aku aja baru aja make mysql dari dulu pake access dan native, tapi konsepnya sama kok mas
Thank'z


Ganaz

Offline davidmustakim

  • Fox-id M.V.P
  • Hero Member
  • *
  • Posts: 14.053
  • Awas ya...
Re: update dan hapus data pada mysql menggunakan RV
« Reply #4 on: January 07, 2010, 06:45:01 PM »
mas jika untuk transaksi metodenya gimana mas ?
misal kita punya cursor kosong transaksi(sebagai tabel sementara)
kemudian kita ingin mengupdate ke table fisik,gimana caranya ?
tidak bisa ya jika menggunakan RV ?
mohon pencerahan, maaf masih awam mysql

 :)
RV itu adalah VIEW, artinya kl. tabel browsing... kasus yang anda tanyakan lebih cocok sederhanakan dengan SPT+INSERT... Anak gaul cover-boy disuruh nukang justru ribet mas

need_help

  • Guest
Re: update dan hapus data pada mysql menggunakan RV
« Reply #5 on: January 08, 2010, 12:14:06 AM »
saya sudah coba cara mas ganasa sebelumnya yaitu create cursor,tapi gak bisa. karena RV itu remote view.
karena pada intinya saya ribet pada masalah begin transaction jadi bingung sendiri.

terimkasih atas petunjuknya...
saya coba gogling2 dl dan seraching pada fox-id.
 :)

Offline ganaz

  • Junior Member
  • *
  • Posts: 237
Re: update dan hapus data pada mysql menggunakan RV
« Reply #6 on: January 08, 2010, 10:45:18 AM »
gini deh kalo belajar langsung SPT tanpa melewati RV atau LV serba bingung...
pernah seh 2 tahun lalu iseng2 pake access trus aku bikinkan RV dan alhamdulillah programnya  masih berjalan sampai sekarang ya maklum waktu itu saya tidak mengerti tentang conection string.
malah saya sendiri tidak tau apa kegunaan RV waktu itu, yang hanya saya tahu cuma menampilkan data dari database lain.
cara yang saya tampilkan di atas itu tidak menggunakan RV atau LV, itu hanya trik saya waktu menggunakan database access yang dulu pernah saya dapatkan dari mas tolo kemudian saya kembangkan sendiri, jadi mungkin bisa dibuat referensi aja.
jadi minta maaf ya mas... :thefinger: :thefinger:
Thank'z


Ganaz

Offline fahmiidris

  • Junior Member
  • *
  • Posts: 126
    • http://
Re: update dan hapus data pada mysql menggunakan RV
« Reply #7 on: January 08, 2010, 12:56:06 PM »
he he he, sering kali kita kita mempermasalahkan tentang spt atau rv , dan saya sendiri bingung dengan spt maksud nya...males ketik ketikknya ribet banget dech, so karena visual foxpro itu salah satu program yang menjadi andalan saya sejak 10 th terakhir ini, jadi saya bersyukur dech kenal visual foxpro ini

mau pakai spt atau remote  view...gak masalah...tergantung pemakaiannya...so aku udah lama pakai yaa kadang "SPT" kadang kondisi tertentu enak "RV"...pokoknya beres dech VFP memang ok kok..."

kalau mau pakai rv, kuncinya adalah ini kebiasaan saya lho, gunakan field yang bertype autoincrement  sebagai update key nya dan tentunya where field dst sbg filter updatenya
« Last Edit: January 08, 2010, 01:07:18 PM by fahmiidris »

need_help

  • Guest
Re: update dan hapus data pada mysql menggunakan RV
« Reply #8 on: January 08, 2010, 03:18:48 PM »
akhirnya tidak pake RV dl..
coba yang biasa biasa aja dl...

seperti ini
Code: [Select]
SQLEXEC(_skon,"select * from barang where kdbrg = ?lckd","curcek")
SELECT curcek
IF RECCOUNT('curcek')>0
IF MESSAGEBOX('barang sudah ada,update barang ?',4+32,'Informasi')=7
RETURN
else
LCstat=SQLEXEC(_skon,"UPDATE barang SET nmbrg=?lcnmbrg,satbrg=?lcsat where kdbrg=?lckd")
ENDIF
ELSE
LCinsert="INSERT INTO barang values(?lckd,?lcnmbrg,?lcsat)"
LCstat=SQLEXEC(_skon,LCinsert)
ENDIF

if lcstat<1
   messagebox('gagal update')
else
   messagebox('sukses update')
endif


gimana pak kalo begitu ?
pencerahannya donk?

tolong donk petunjuk untuk begin transaction ?
seandainya saya punya data nota yang masih saya simpan di cursor(tanpa RV) kemudian saya oper ke table fisik.gimana ya implementasi pemakaian transactionnya ?

terimakasih

Offline d1t4

  • Newbie
  • *
  • Posts: 42
Re: update dan hapus data pada mysql menggunakan RV
« Reply #9 on: March 11, 2010, 10:32:25 AM »
@ need_help

Kode yang diatas, sangat ampuhh..
kebetulan saya ada kendala saat update  :icon_study:
dan saya sudah mencoba..

sangat Membatu.
Terima Kasih

God BLess You! 
Learn By Doing..

Offline foxy

  • Fox-id M.V.P
  • Hero Member
  • *
  • Posts: 3.605
    • Foxy Land
Re: update dan hapus data pada mysql menggunakan RV
« Reply #10 on: March 11, 2010, 10:13:42 PM »
@need_help: RV menurut saya sangat powerful. Anda bisa menghemat coding sangat-sangat banyak dengan RV - terutama saat melakukan insertion atau update beberapa table yang berelasi dan mengirimkan hasil update itu sekaligus. Implementasi RV sangat cocok untuk aplikasi two-tier (client-server). Maksud saya -- kenapa Anda menyerah dan mengganti coding Anda? Menurut saya, sangat worth it untuk mempelajari RV bila dibandingkan dengan banyak coding yang harus Anda ketik nantinya untuk meng-update data via SPT. (Btw, senior kita, Pak Handi, pasti akan lebih prefer CursorAdaptor... :) )

Coba lagi pak... :)

Regards,
foxy
This post is provided as is. Feel free to use all the codes and information, however understand that I don't have any obligations to fix any bug(s) or follow up this subject.

need_help

  • Guest
Re: update dan hapus data pada mysql menggunakan RV
« Reply #11 on: March 12, 2010, 11:19:28 AM »
terima kasih pak Foxy atas masukannya.
Saya belum sempat coba lagi untk RV karena masih sedikit repot nih (pindahan gedung baru dan seting jaringan),hehehe..
terus terang saya masih bingung untuk Spt.
Apakah logika saya sudah benar pak untuk penyimpanan barang menggunakan Spt seperti contoh di post sebelumnya ?
thx :)

Offline foxy

  • Fox-id M.V.P
  • Hero Member
  • *
  • Posts: 3.605
    • Foxy Land
Re: update dan hapus data pada mysql menggunakan RV
« Reply #12 on: March 12, 2010, 11:19:01 PM »
need_help:

Logika... hmmm... yah, bisa dibilang sudah betul. Pertama kali Anda memeriksa apakah row dengan kode lcKd sudah ada atau belum. Kalau sudah ada Anda menjalankan fungsi update, kalau belum ada yang dijalankan adalah insertion. Yang mungkin perlu diperbaiki, Anda mengasumsi inisialisasi koneksi berhasil. Padahal, mungkin saja gagal (seperti thread Anda mengenai firebird). Jadi sebaiknya;
Code: [Select]
IF SQLEXEC(_skon,"select * from barang where kdbrg = ?lckd","curcek") > 0
    SELECT curcek
    * dst...
else
    aerror(laErr)
    messagebox("Koneksi gagal. Pesan kesalahan: " + laErr(2), 64, "Uups")

endif

Silakan coba-coba lagi untuk mengupdate table yang lebih besar dan lebih riil. Coba juga mengupdate beberapa table sekaligus seperti halnya dalam kasus transaksi-detail transaksi. Nanti pasti akan ketemu masalah baru. Kalau nanti kebingungan silakan posting lagi disini. :)

Regards,
foxy
This post is provided as is. Feel free to use all the codes and information, however understand that I don't have any obligations to fix any bug(s) or follow up this subject.

need_help

  • Guest
Re: update dan hapus data pada mysql menggunakan RV
« Reply #13 on: March 13, 2010, 09:12:18 AM »
terima kasih Pak Foxy atas masukannya
ini sedang saya implementasikan dengan firebird
ntar jika sudah memasuki table transaksi-detail transaksi,mungkin akan mengalami masalah baru...hehehe  :icon_thumright:
thanks

Offline ari_chandra

  • Junior Member
  • *
  • Posts: 359
    • www.ariechandra.blogspot.com
Re: update dan hapus data pada mysql menggunakan RV
« Reply #14 on: March 13, 2010, 05:36:27 PM »
boleh ikutan, tapi kalau salah mohon maaf sebelumnya.
saya dulu juga sempat bingung soal hal ini. kalau saya sekarang ini dan selama ini lebih suka SPT+Cursor (sebutan dari pak mztolo). untuk proses DML baik itu insert,update atau pun delete sama aja seperti menggunakan database native.
Code: [Select]
1.pembuatan cursor
SQLEXEC(lnhandle,'select * from tblsiswa','tbl_s')
2. dibawah ini coding biar cursor tersebut terhubung(ngelink) dengan database di server, itu yang saya tau dari pak shee
SELECT tbl_s
CURSORSETPROP("Buffering",3)
CURSORSETPROP("Tables","tblsiswa")
CURSORSETPROP("KeyFieldList","nis")
CURSORSETPROP("UpdatableFieldList","nis, nama, kota, tgllhr, jkel, tabungan")
CURSORSETPROP("UpdateNameList","nis tblsiswa.nis,nama tblsiswa.nama,kota tblsiswa.kota,tgllhr tblsiswa.tgllhr,jkel tblsiswa.jkel,tabungan tblsiswa.tabungan")
CURSORSETPROP("SendUpdates",.t.)

* kalau sudah begitu kita mau apakan saja cursor itu (insert/update/delete) hasilnya juga akan terjadi di database server tp saya selama ini tetap melakukan pengecekan dengan fungsi tableupdate().

* lalu kalau untuk transaction :
   
   begin transaction
   insert into namacursor1(field1,...,...,...) values (...,...,...)
   if tableupdate(1,.T.,'namacursor1')
      update namacursor2 set field2 = ?values2 where field1 = ?values1
      if tableupdate(1,.T.,'namacursor2')
         end transaction
      else
          rollback
      endif   
    else
         rollback
    endif
* itu method yg saya lakukan selama ini.

@need_help : Jadi menurut saya udah bener kok cara kamu, semua orang punya stylenya masing2.
kalau ada yg salah dengan kata2 atau penulisan listing mohon dimaafkan, soalnya saya juga masih belajar.




salam,

Ari Chandra