SQL Script pada MySQL biasanya berguna untuk mem-backup tabel maupun database MySQL sehingga bagi pengembang aplikasi akan sangat dibutuhkan. Berikut ini adalah kode program Visual Foxpro yang dapat men-generate script sql untuk MySQL :
DBname=”" && nama database
Server=”" && alias / IP server
Username=”" && user mysql
Passwd=”" && password user
DSN=”DRIVER={MySQL ODBC 3.51 Driver};DESC=;DATABASE=”;
+DBname+”;SERVER=”+Server+”;UID=”+Username+;
“;PASSWORD=”+Passwd+”;PORT=;OPTION=2056;STMT=;”
PUBLIC koneksi, xstatuser && variabel koneksi
koneksi=SQLSTRINGCONNECT(DSN)
SQLEXEC(koneksi, “show tables”, “crtables”)
nm=”tables_in_”+ALLTRIM(db)
txtsql=”"
DO WHILE NOT EOF()
xtabel=ALLTRIM(crtables.&nm)
xteks=”DROP TABLE IF EXISTS &xtabel”+”;”+CHR(13)+CHR(13)
**** buat script create table
SQLEXEC(koneksi, “show create table &xtabel”,”crtb”)
xteks=xteks+ALLTRIM(crtb.create_table)+”;”+CHR(13)+CHR(13)
txtsql=txtsql+xteks
**** Ambil rincian field (row)
SQLEXEC(koneksi, “describe &xtabel”,”crdesc”)
n=0
DO WHILE NOT EOF()
n=n+1
xfield=ALLTRIM(crdesc.field)
vfld(n)=xfield
SELECT crdesc
SKIP 1
ENDDO
**** Buat Script INSERT
SQLEXEC(koneksi, “select * from &xtabel”, “crb”)
SELECT crb
DO WHILE NOT EOF()
txt=”INSERT INTO “+xtabel+” VALUES (“
FOR w=1 TO n
IF alltype(crb.&vfld(w))=’N’
txt=txt+ALLTRIM(STR(crb.&vfld(w)))+”, “
ENDIF
IF alltype(crb.&vfld(w))=’C’
txt=txt+’”‘+ALLTRIM(crb.&vfld(w))+’”‘+”, “
ENDIF
IF alltype(crb.&vfld(w))=’D’
xtglnya=ALLTRIM(DTOC(crb.&vfld(w)))
IF ISNULL(xtglnya)
xtglnya=”
ELSE
xtglnya=RIGHT(xtglnya,4)+”-”+SUBSTR(xtglnya,4,2)+”-”+LEFT(xtglnya,2)
ENDIF
txt=txt+’”‘+xtglnya+’”‘+”, “
ENDIF
NEXT w
txt=ALLTRIM(txt)
txt=SUBSTR(txt, 1, LEN(txt)-1)
txt=txt+”);”+CHR(13)
txtsql=txtsql+txt
SELECT crb
SKIP 1
ENDDO
SELECT crtables
SKIP 1
ENDDO
sqlscript=txtsql && hasil script