Re: Dodawanie elementów do słownika
Dawno temu bardzo szybko stworzyłem import elementów słownika z TXT, sama funkcje dodająca element do słownika wyglądała następująco:
Kod:
int sub DodajElementSlownika(string sSlownik, string sPozycja, string sNazwa)
int iResult
if len(sSlownik) == 0 || len(sPozycja) == 0 || len(sNazwa) == 0 then error "Błąd dodawania pozycji (pusta wartość)"
dispatch rs = "ADODB.Recordset"
dispatch con = GetAdoConnection()
string sSQL = using "SELECT ElementKindId FROM [SSCommon].[STElementKinds] where ElementType=1 AND Shortcut='%s' Order by st_last_modified desc", sSlownik
if rs.State == 1 then rs.Close()
rs.Open (sSQL ,con,3)
if rs.RecordCount == 1 then
rs.MoveFirst()
if rs.Fields("ElementKindId").Value > 0 then buf = using "%l", rs.Fields("ElementKindid").Value
else
error using "Błąd wyboru słownika (musi istnieć)"
endif
if val(buf)>0 then
sSQL = using "SELECT Shortcut FROM [SSCommon].[STElements] WHERE ElementKindId = %s AND Position = %s", buf, sPozycja
if rs.State == 1 then rs.Close()
rs.Open ( sSQL ,con,3)
if rs.RecordCount == 0 then
sSQL = using "insert into [SSCommon].[STElements] (Guid,Title,Active,AccountNo,Description,ElementKindId,Shortcut,Position,ObjVer) VALUES (newid(),'%s',1,'%s','',%s,'%s','%s',0); ", sNazwa, sPozycja, buf, sNazwa, sPozycja
con.Execute(sSQL)
buf = using "\n Do słownika '%s' dodano pozycję o nr '%s' - %s",sSlownik, sPozycja, sNazwa
print buf
iResult = 1 // OK
else
//Pozycja już istnieje?
buf = using "\nPOMIJAM pozycję o nr '%s' - %s (Pozycja o nr %s już istnieje)", sPozycja, sNazwa,sPozycja
print buf
endif
endif
DodajElementSlownika = iResult
endsub