Multi Insert Mysql dengan Foxpro

Met sore he mumpung mendung nih, lama ga update dan nulis blog, ok langsung aja nih begini biasanya kan klo mau insert ke dalam database mysql dari cursor/tabel native(dbf) biasanya melakukan dengan perulangan satu satu masuknya yaa kan, naa itu bukanlah kebiasaan Mysql krn Mysql itu diperuntukkan untuk Recordset yang artinya banyak record, klo satu per satu itu namanya perrecord dan itu biasanya yang membuat terasa lambat saat insert keMysql dengan jumlah yang banyak, bandingkan aja insert 1 record dengan langsung 500 record waktunya lebih cepat daripada 1 record malahan bisa sama aja waktunya, liat pada gambar perbandingan ini

1 2
yaa kan
naa untuk membuat multi insert di foxpro berikut contoh script

lcconn="Driver={MYSQL ODBC 5.1 Driver};Server="+pcsvr+";Database="+pcdb+";uid="+pcuid+";Password="+pcp+";"
nch=Sqlstringconnect(lcconn)
If nch <0
 Messagebox('gagal konek')
 Return

Endif
lnr=SQLPrepare(nch,"Select * from cust_copy","cCust")
If lnr >0
 =SQLExec(nch)
Else
 Messagebox('Gagal Query')
 Return
Endif

TEXT TO lcInsert NOSHOW TEXTMERGE PRETEXT 7
INSERT INTO cust(ccust,ccustnm,calamat,ckota,ctelp,
cfax,czip,ccontact,calamat2,calamat3,cnpwp,cprop,
ccity,caddr,nage,cnocust) VALUES
ENDTEXT

Select cCust
lnRecord=Reccount()  &&3025 Record
lnJumlah=500
nUrut=0
Scan
 nUrut=nUrut+1
 TEXT TO lcsql NOSHOW TEXTMERGE PRETEXT 7 ADDITIVE
 ("<<ALLTRIM(ccust))>>","<<ALLTRIM(ccustnm)>>",
"<<ALLTRIM(calamat)>>","<<ALLTRIM(ckota)>>","<<ALLTRIM(ctelp)>>","<<ALLTRIM(cfax)>>","<<ALLTRIM(czip)>>","<<ALLTRIM(ccontact)>>","<<ALLTRIM(calamat2)>>",
"<<ALLTRIM(calamat3)>>","<<ALLTRIM(cnpwp)>>","<<ALLTRIM(cprop)>>","<<ALLTRIM(ccity)>>","<<ALLTRIM(caddr)>>","<<nage>>","<<ALLTRIM(cnocust)>>")
 ENDTEXT
 If nUrut=Iif(lnRecord>lnJumlah,lnJumlah,lnRecord)
 lnr=SQLExec(nch,lcInsert+lcsql)
 lnRecord=lnRecord-nUrut
 nUrut=0
 lcSql=" "
 Else
 lcsql=lcSql+[,]
 ENDIF
ENDSCAN

SQLDisconnect(nch)

Koding bukan untuk siap copas, tp cuma di pahami dan dipelajari😀, Ok semoga bermanfaat yaa

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: