Parametry
move_descr_obj | implicitnφ nßvrh p°enosu |
inpname | jmΘno vstupnφho souboru, tabulky nebo dotazu |
inpobj | Φφslo otev°enΘho kurzoru nebo objektu ve 602SQL |
outname | jmΘno v²stupnφho souboru, tabulky nebo dotazu |
inpformat | vstupnφ formßt dat |
outformat | v²stupnφ formßt dat |
inpcode | k≤dovßnφ ΦeÜtiny ve vstupnφm souboru |
outcode | k≤dovßnφ ΦeÜtiny ve v²stupnφm souboru |
silent | urΦenφ, zda se majφ generovat chybovß hlßÜenφ na obrazovku. |
cdp | kontextovß prom∞nnß klienta |
Od verze:
5.0
Popis
Funkce Move_data
provßdφ p°enos dat. Lze jφ nahradit vÜechny p°edchozφ funkce pro exporty a importy dat.
Pokud move_descr_obj je -1, pak se vytvo°φ implicitnφ nßvrh p°enosu na zßklad∞ ostatnφch parametr∙, jinak se p°eΦte nßvrh p°enosu z databßze a pozm∞nφ se podle hodnot ostatnφch parametr∙. ╚φslo popisu lze zφskat funkcφ Find_object
.
Zdroj a cφl dat jsou popsßny sv²m formßtem (inpformat, outformat), a podle svΘho formßtu (v parametrech inpname, outname) takΘ jmΘnem souboru (nap°. FAKTURY.DBF, PENALE.CSV apod. ) nebo jmΘnem tabulky Φi dotazu, p°φpadn∞ Φφslem otev°enΘho kurzoru nebo objektu ve 602SQL (inpobj). K≤dovßnφm ΦeÜtiny ve vstupnφm a v²stupnφm souboru se zadß v parametrech inpcode a outcode. Data ulo₧enß v databßzi majφ v₧dy k≤d 0. Pokud n∞kter² parametr nechcete zadat, uve∩te pro Φφseln² parametr hodnotu -1, pro °et∞zcov² parametr prßzdn² °et∞zec.
Parametr silent °φkß, zda se majφ generovat chybovß hlßÜenφ na obrazovku, vΦetn∞ varovßnφ p°i p°epsßnφ ji₧ existujφcφho souboru (silent=TRUE) Φi nikoliv (silent=FALSE).
Soubor, z n∞ho₧ se majφ Φφst (nebo do n∞ho₧ se majφ zapisovat) data nesmφ b²t otev°en (nap°. funkcφ Reset
).
Je-li tato funkce zavolßna uvnit° transakce, bude tato transakce ukonΦena. Efekt funkce nelze odvolat pomocφ Roll_back.
P°enos dat lze nastavovat i ruΦn∞ pomocφ nßvrhß°e p°enos∙. Okno nßvrhß°e se otev°e funkcφ Edit_impexp
.
Formßt se zadßvß t∞mito konstantami:
IMPEXP_FORMAT_WINBASE
|
0 | soubor ve vnit°nφm formßtu 602SQL (TDT) |
IMPEXP_FORMAT_TEXT_COLUMNS
|
1 | textov² soubor ve sloupcovΘm formßtu |
IMPEXP_FORMAT_TEXT_CSV
|
2 | textov² soubor ve formßtu CSV |
IMPEXP_FORMAT_DBASE
|
3 | soubor ve formßtu dBase IV (DBF) |
IMPEXP_FORMAT_FOXPRO
|
4 | soubor ve formßtu FoxPro 2.0 (DBF) |
IMPEXP_FORMAT_ODBC
|
5 | tabulka p°ipojena p°es ODBC |
IMPEXP_FORMAT_CURSOR
|
6 | pevn² kurzor ve 602SQL (pouze pro vstup) |
IMPEXP_FORMAT_TABLE
|
10 | tabulka ve 602SQL (pro vstup takΘ prom∞nn² kurzor) |
IMPEXP_FORMAT_TABLE_REIND
|
11 | tabulka ve 602SQL, indexy se m∞nφ a₧ po p°enosu |
P°i exportu z prom∞nnΘho kurzoru (10) lze pou₧φt pouze vnit°nφ formßt 602SQL (0). Pro export z prom∞nnΘho kurzoru do jinΘho formßtu pou₧ijte obrat uveden² v p°φkladech.
P°i importu z vnit°nφho formßtu (0) do tabulky ve 602SQL (10,11) nelze vytvo°it novou tabulku, pou₧φt existujφcφ lze.
K≤dovßnφ ΦeÜtiny se zadßvß t∞mito konstantami:
0 | EE Win, k≤dovß strßnka 1250 , vnit°nφ ΦeÜtina 602SQL |
1 | K≤d Kamenick²ch, KEYBCS2; |
2 | K≤d KOI8-CS; |
3 | K≤d LATIN 2 pou₧it² v Text602; |
4 | K≤dovß strßnka 852 z MS DOSu 5.0, LATIN 2; |
5 | K≤d Windows ANSI. |
Hodnota funkce
Funkce vracφ FALSE p°i chyb∞.
P°φklad 1
import ulo₧en²ch dat ve vnit°nφm formßtu do existujφcφ tabulky, indexy se p°ebudovßvajφ a₧ po importu (pokud by v indexu byla duplicita, p°enos sice skonΦφ s chybou, ale import samotn² bude kompletnφ a index se dß vybudovat po odstran∞nφ duplicit):
ss := "D:\ZALOHA\*.TDT";
if Select_file(0,ss) then
Move_data(-1,ss,-1,'TAB1',0,11,0,0,true);
P°φklad 2
import z DBF souboru v LATIN 2 do nov∞ vytvo°enΘ tabulky ve 602SQL:
ss := "D:\DBFS\*.DBF";
if Select_file(0,ss) then
Move_data(-1,ss,-1,'FAKT',4,10,4,0,false);
P°φklad 3
export dat z prom∞nnΘho dotazu do souboru ve vnit°nφm formßtu:
Open_sql_cursor(cc, "select * from TAB1 where...");
if not Move_data(-1,"",cc,"c:\dotaz.tdt",10,0,0,0,false) then Signalize;
P°φklad 4
export dat z prom∞nnΘho dotazu do souboru v DBF:
str := "select * from TAB1 where...";
Open_sql_cursor(cc, str);
if Find_object("POMDOTAZ",CATEG_CURSOR,pomdotnum) then
Insert_object("POMDOTAZ",CATEG_CURSOR,pomdotnum);
OBJTAB[pomdotnum].defin[0,StrLength(str)] := str;
OBJTAB[pomdotnum].defin# := StrLength(str);
if not Move_data(-1,"POMDOTAZ",-1,"c:\dotaz.dbf",6,4,0,0,false) then Signalize;
P°φklad 5
export s p°ipraven²m p°enosem:
if Find_object("EXP_DBF",CATEG_PGMSRC,prennum) then Signalize
else
if not Move_data(prennum,"",-1,"",-1,-1,-1,-1,true) then Signalize;
Viz