84 lines
1.8 KiB
Plaintext
84 lines
1.8 KiB
Plaintext
#Define crlf Chr(13) + Chr(10)
|
|
|
|
Local lcColoane, lcVals, lcAdresa, lcTabela, lcTable, nr, i, lnSucces, lcSql
|
|
External Array lacols
|
|
lcColoane = []
|
|
lcVals = []
|
|
lnSucces = 0
|
|
|
|
gnconn = SQLConnect([jcsserver],[test_alex],[123])
|
|
If gnconn < 0
|
|
Return
|
|
Endif
|
|
|
|
lcAdresa = Addbs(Justpath(Sys(16,0)))
|
|
lcTabela = [xitems]
|
|
lcTable = lcAdresa + lcTabela
|
|
Use (lcTable)
|
|
Select 1
|
|
|
|
nr = Afields(lacols,lcTabela)
|
|
For i = 1 To nr
|
|
lcColoane = lcColoane + lacols(i,1) + [,]
|
|
lcVals = lcVals + [?] + lacols(i,1) + [,]
|
|
Endfor
|
|
lcColoane = Left(lcColoane,Len(Alltrim(lcColoane)) - 1)
|
|
lcVals = Left(lcVals,Len(lcVals) - 1)
|
|
lcSql = [insert into ] + lcTabela + [(] + lcColoane + [)] + [ values(] + lcVals + [)]
|
|
|
|
SQLSetprop(gnconn,"Transactions",2)
|
|
Scan
|
|
lnSucces = executaSql(lcSql,'',.T.)
|
|
If lnSucces < 0
|
|
Exit
|
|
Endif
|
|
Endscan
|
|
|
|
If lnSucces > 0
|
|
Sqlcommit(gnconn)
|
|
Messagebox([sa facut importu])
|
|
Else
|
|
Sqlrollback(gnconn)
|
|
Endif
|
|
SQLSetprop(gnconn,"Transactions",1)
|
|
|
|
SQLDisconnect(gnconn)
|
|
|
|
**********************************************************
|
|
Function executaSql
|
|
Lparameters cmdSql, crsName, tlShowErr
|
|
Local lnSucces
|
|
|
|
lnSucces = -1
|
|
|
|
If Pcount() < 2 And !m.tlShowErr
|
|
crsName=""
|
|
Endif
|
|
|
|
If gnconn > 0
|
|
lnSucces = SQLExec(gnconn,cmdSql,crsName)
|
|
|
|
If lnSucces < 0 And m.tlShowErr
|
|
Aerror(laEroare)
|
|
eroaresql(@laEroare,cmdSql)
|
|
Endif
|
|
Endif
|
|
|
|
Return lnSucces
|
|
Endfunc
|
|
|
|
**********************************************************
|
|
Procedure eroaresql
|
|
Lparameters laErr, lcSql
|
|
|
|
External Array laErr
|
|
Local lcMesaj
|
|
|
|
lcMesaj = [Eroare # : ] + Alltrim(Str(laErr(1))) + crlf + ;
|
|
[Mesajul : ] + laErr(2) + ;
|
|
IIF(!Empty(laErr(3)), [Eroare OLE : ] + laErr(3) ,[]) + ;
|
|
[Aplicatie : ] + laErr(4) + ;
|
|
IIF(Pcount() = 2, crlf + lcSql, [])
|
|
Messagebox(lcMesaj,0+16)
|
|
Endproc
|