Author Topic: masalah saat insert into ke mysql  (Read 101 times)

0 Members and 1 Guest are viewing this topic.

Offline cgunawan

  • Newbie
  • *
  • Posts: 15
masalah saat insert into ke mysql
« on: July 11, 2018, 01:35:45 PM »
Siang rekan2 Fox-ID,

saya ada kendala saat insert ke mysql.
coding sy krng lbh sbb :

Code: Text
  1.                                 select cur_tr
  2.                                 scan
  3.                                         xkddist = xkodedistlpd
  4.                                         xnoorder = noorder
  5.                                         xtype_ = type_
  6.                                         xtglorder = tglorder
  7.                                         xnoinvoice = noinvoice
  8.                                         xtglinvoice = tglinvoice
  9.                                         xnororder = nororder
  10.                                         xtglrorder = tglrorder
  11.                                        
  12.                                         TEXT TO csec NOSHOW TEXTMERGE PRETEXT 7 ADDITIVE
  13.                                                 INSERT INTO inst01 (kddist,noorder,type_,tglorder,noinvoice,tglinvoice)
  14.                                                 Values ('<<xkddist>>','<<xnoorder>>','<<xtype_>>','<<xtglorder>>','<<xnoinvoice>>','<<xtglinvoice>>') ;
  15.                                         ENDTEXT
  16.                                 endscan
  17.                                
  18.                                 if sqlexec(mysqlkonek,csec) > 0
  19.                                         messagebox("Sukses")
  20.                                 else
  21.                                         messagebox("Gagal")
  22.                                 endif
  23.  
  24.  

saat di jalankan coding tsb selalu gagal insert.

sy cb hilangkan 'additive' dan pindahkan statemen sqlexe ke dlm blok scan endscan. data sukses terinsert.
tp kalau dgn cara demikian, akan btuh wkt lbh lama, krn antara komp klien dan server beda lokasi.

sy jg cb  simpan ke file text, dan execute isi nya di mysql, dan sukses

Code: Text
  1.                                 select cur_tr
  2.                                 scan
  3.                                         xkddist = xkodedistlpd
  4.                                         xnoorder = noorder
  5.                                         xtype_ = type_
  6.                                         xtglorder = tglorder
  7.                                         xnoinvoice = noinvoice
  8.                                         xtglinvoice = tglinvoice
  9.                                         xnororder = nororder
  10.                                         xtglrorder = tglrorder
  11.                                        
  12.                                         TEXT TO csec NOSHOW TEXTMERGE PRETEXT 7 ADDITIVE
  13.                                                 INSERT INTO inst01 (kddist,noorder,type_,tglorder,noinvoice,tglinvoice)
  14.                                                 Values ('<<xkddist>>','<<xnoorder>>','<<xtype_>>','<<xtglorder>>','<<xnoinvoice>>','<<xtglinvoice>>') ;
  15.                                         ENDTEXT
  16.                                 endscan
  17. filetostr(csec,'mysql.txt')
  18.  
  19.  
  20.  

kira2 ada kurang dmn ya sehingga selalu gagal insert?
mohon pencerahan nya rekan2 sekalian.

Thanks & Regards,
Christian


Offline cgunawan

  • Newbie
  • *
  • Posts: 15
Re: masalah saat insert into ke mysql
« Reply #1 on: July 12, 2018, 08:29:24 AM »
slmat pagi smua... apa ada yg bs bantu case sy ini?

btw, ini sy insert nya ke db ms sql server.
Thanks & Regards,
Christian

Offline andisheva

  • Hero Member
  • *
  • Posts: 776
Re: masalah saat insert into ke mysql
« Reply #2 on: July 12, 2018, 09:05:25 AM »
saya biasanya pakai '?' di tiap valuenya..

INSERT INTO inst01 (kddist,noorder,type_,tglorder,noinvoice,tglinvoice)
Values (?xkddist,?xnoorder....)

silahkan yang lain....

andisheva

Offline cgunawan

  • Newbie
  • *
  • Posts: 15
Re: masalah saat insert into ke mysql
« Reply #3 on: July 12, 2018, 09:36:34 AM »
Tks Mas Andi atas feedback nya.
saya kalo insert 1 per 1 record memang menggunakan ? dan g ada issue selama ini.

tp di code sy di atas. sy ini insert bbrp record sekaligus dgn 1 kali sqlexec.

krn itu dlm blok scan-endscan,  text - endtext sy beri opsi additive.

klo variable 'csec' di filetostr

hasil nya adalah perintah insert.

contoh hasil sbb :


Quote
insert into ins01 (kddist,noorder,type_,tglorder,noinvoice,tglinvoice) values ('1','101','F','2018-05-15 00:00:00','inv01','2018-05-15') ;
insert into ins01 (kddist,noorder,type_,tglorder,noinvoice,tglinvoice) values ('2','101','F','2018-05-15 00:00:00','inv02','2018-05-15') ;
insert into ins01 (kddist,noorder,type_,tglorder,noinvoice,tglinvoice) values ('3','101','F','2018-05-15 00:00:00','inv03','2018-05-15') ;
insert into ins01 (kddist,noorder,type_,tglorder,noinvoice,tglinvoice) values ('4','101','F','2018-05-15 00:00:00','inv04','2018-05-15') ;

isi tsb adlah hasil blok scan-endscan

Thanks


Offline andisheva

  • Hero Member
  • *
  • Posts: 776
Re: masalah saat insert into ke mysql
« Reply #4 on: July 12, 2018, 09:46:21 AM »
sudah di declare/ditulis  driver ,user dan password my sqlnya sebelum komen diatas?

andisheva

Offline cgunawan

  • Newbie
  • *
  • Posts: 15
Re: masalah saat insert into ke mysql
« Reply #5 on: July 12, 2018, 09:59:04 AM »
sudah semua mas.
Kalau di test dgn code spt ini sukses. ( insert 1 per 1 ). tp issue nya akan terjadi pengulangan eksekusi dgn sqlexec. dan jd lambat. krn server dan klien tdk di 1 lokasi.

Code: [Select]
select cur_tr
scan
        xkddist = xkodedistlpd
        xnoorder = noorder
        xtype_ = type_
        xtglorder = tglorder
        xnoinvoice = noinvoice
        xtglinvoice = tglinvoice
        xnororder = nororder
        xtglrorder = tglrorder
       
        TEXT TO csec NOSHOW TEXTMERGE PRETEXT 7 
                INSERT INTO inst01 (kddist,noorder,type_,tglorder,noinvoice,tglinvoice)
                Values ('<<xkddist>>','<<xnoorder>>','<<xtype_>>','<<xtglorder>>','<<xnoinvoice>>','<<xtglinvoice>>')
        ENDTEXT
        IF Sqlexec(mykoneksi,csec) > 0
                messageboc("Sukses")
        else
                messagebox("gagal")
        endif
endscan