MySQL memliki default mode tarnsaksi adalah autocommit.
Jadi, pada sebuah query :
UPDATE tabelku SET kolomku=nilai_baru WHERE kolomitu=kriteriaku
sebenarnya telah terjadi start transaction yang diakhiri commit.
Misal, storage engine yang digunakan mampu melakukan log dengan baik, berarti aman untuk melakukan commit yang menunggu beberapa saat alias dibuat sesi tertentu. Hanya saja, bisa lock unlock table juga dibutuhkan.
Gampangnya,
Query DML seperti Insert, Update, Delete
untuk data yang sudah clean dan fit dengan db, gak perlu repot melakukan manual transact maupun commit.
Untuk kondisi data yang mau diubek-ubek masih bisa menghasilkan error menurut si db,
public sub eksekusi( )
dim sQ as string
on error goto MyTrans_Error
'awali dengan start transaction atau begin trans
sq="UPDATE tabelku SET kolomku=nilai_baru WHERE kolomitu=kriteriaku;"
'misal varabel koneksi namanya con dan bisa langsung digunakan (udah di open)
con.begintrans
con.execute sq
con.committrans
'mau tutup con sekalian juga boleh
con.close
exit sub
MyTrans_Error: 'ini blok kalau error
con.rollbacktrans
'tutup juga
con.close
err.clear
end sub
bagian yang di-bold setara dengan query transactional lengkap :
sq="start transaction;" & _
"UPDATE tabelku SET kolomku=nilai_baru WHERE kolomitu=kriteriaku;" & _
"commit;"
biasanya ada error handling untuk bisa menangkap ketika ada eksekusi query setelah start transaction yang error, untuk melakukan rollback
hal ini di vb diwakili oleh on error goto sebuah blok error handler nya (MyTrans_Error) yang berisi proses rollback
Kid.
Mas Kid,
Saya mempunyai procedure sbb connect ke mysql dan eksekusi sql syntax:
'===fungsi connect ke database
Function CanConnectMySQL(username As String, passwd As String, serverIP As
String, db As String) As Boolean
Set conn = New ADODB.Connection
conn.CursorLocation = adUseClient
conn.ConnectionString = "DRIVER={MySQL ODBC 5.1 Driver};SERVER=" &
serverIP & ";UID=" & username & ";PWD=" & passwd & ";DATABASE=" & db & ";" _
& "OPTION=" & 1 + 2 + 8 + 32 + 2048 + 163841
On Error Resume Next
conn.Open
If Err.Number = 0 Then
CanConnectMySQL = True
Else
CanConnectMySQL = False
End If
End Function
'==prosedur untuk menjalan query sesuai dengan sytax mysql
'==bisa digunakan untuk insert, delete records dll
Public Sub ConnectionExecute(strExe As String)
conn.Execute strExe
End Sub
Apakah bisa statement START TRANSACTION, COMMIT, and ROLLBACK bisa
dieksekusi lewat vba excel?
Thanks
-zainul-
From: XL-mania@yahoogroups.com [mailto:XL-mania@yahoogroups.com] On Behalf
Of Mr. Kid
Sent: Tuesday, May 17, 2011 2:45 PM
To: XL-mania@yahoogroups.com
Subject: Re: ]] XL-mania [[ Bisa gak ya..Excel berkomunikasi dengan Database
MySQL.??
Bukannya bisa execute query langsung ke MySQL ?
Kenapa kerja dua kali dengan nyusun file query kemudian si query di eksekusi
di MySQL ?
Kid.
2011/5/16 RaKa Mardika <subend05@yahoo.co.id>
Hi bp Hendrik,
Pada attachment adalah "XLS-MySQL.xls" sebagai contoh tabel XLS diumpankan
pada DataBase MySQL, terdapat tab "sub_dept" dan macro "XLS2MySQL".
Untuk menjalankan macro "XLS2MySQL" silakan tekan "ALT+F8", pilih dan Run.
Macro "XLS2MySQL" dapat menciptakan file "sub_dept.sql" untuk di-import ke
dalam DataBase MySQL.
Apabila bp Hendrik bersedia, sy dpt mendampingi bp untuk membuatkan macro
konverter sesuai kondisi tabel2 XLS yg bp miliki menjadi DataBase MySQL yg
bp inginkan, secara profesional tentunya.
Kind regards,
r4k4
--- Pada Sen, 16/5/11, hendrik dwi maha <h3drk_10@yahoo.co.id> menulis:
Dari: hendrik dwi maha <h3drk_10@yahoo.co.id>
Judul: Bls: ]] XL-mania [[ Bisa gak ya..Excel berkomunikasi dengan Database
MySQL.??
Kepada: "XL-mania@yahoogroups.com" <XL-mania@yahoogroups.com>
Tanggal: Senin, 16 Mei, 2011, 1:54 PM
Dear Bp. raka..
mohon maaf, bisa.. sedikit kasih contoh nya mungkin.
karena.. saya baru pertama kali memahami luasnya dari Microsoft Excel.
sorry *kalo merepotkan.. :)
terima kasih, Bp. Raka
Best regard's
Hendrik
________________________________________
Dari: RaKa Mardika <subend05@yahoo.co.id>
Kepada: XL-mania@yahoogroups.com
Dikirim: Sabtu, 14 Mei 2011 17:35
Judul: Re: ]] XL-mania [[ Bisa gak ya..Excel berkomunikasi dengan Database
MySQL.??
Hi Hendrik,
Yg sy tahu dan pernah sy lakukan, dari XLS langsung ke MySQL itu melalui
tahap sbb:
1. Konversi tabel di XLS pakai macro menjadi file dot SQL (dump MySQL).
2. File dot SQL itu di-IMPORT ke dalam DataBase MySQL.
Macro tsb sy buat sesuai kondisi tabel di XLS dan bentuk di DataBase MySQL
nya.
Kind regards,
r4k4
--- Pada Sab, 14/5/11, hendrik <h3drk_10@yahoo.co.id> menulis:
Dari: hendrik <h3drk_10@yahoo.co.id>
Judul: ]] XL-mania [[ Bisa gak ya..Excel berkomunikasi dengan Database
MySQL.??
Kepada: XL-mania@yahoogroups.com
Tanggal: Sabtu, 14 Mei, 2011, 2:01 PM
Dear XL-Mania
mohon maaf, saya mengalami kesulitan
bisa tidak ya, Microsoft Excel dapat menyimpan data kedalam database
MySQL...
terima kasih, mohon pencerahan
best Rgrd
Hendrik
| maaf baru moderate sekarang... momods kurang tidur berhari-hari |
| jadi budak kantoooOOooorrr... |
| http://www.facebook.com/group.php?gid=37671048001&ref=mf |
+-------------------------------------------------------------------+
| DILARANG : MLM, money game, OOT, iklan tanpa izin, SARA, testing, |
| pembicaraan pribadi, one line message, melecehkan, tidak sopan. |
+-------------------------------------------------------------------+
| Buat subjek yang kreatif, jangan : "tanya", "help", "mohon bantu" |
| Usahakan besar attachment < 200 kb. Gunakan winzip jika perlu. |
+-------------------------------------------------------------------+
| Ajak teman-teman Anda bergabung dengan mengirim e-mail kosong ke |
| XL-mania-subscribe@yahoogroups.com atau kirimkan mereka file dari |
| http://groups.yahoo.com/group/XL-mania/files/Promotion/ |
+-------------------------------------------------------------------+
| Berikan testimoni di : http://www.friendster.com/xlmania atau... |
| http://www.xl-mania.com/2008/06/testimoni-xl-mania.html |
+-------------------------------------------------------------------+
| Message lama ada di : |
| http://groups.yahoo.com/group/XL-mania/messages [perlu yahoo id] |
| http://www.mail-archive.com/xl-mania@yahoogroups.com |
+-------------------------------------------------------------------+
Nenhum comentário:
Postar um comentário