dan258 0 Napisano 16 Grudnia 2015 Udostępnij Napisano 16 Grudnia 2015 w Dodawanie nowej transakcji do Sello z poziomu bazy Witam, stworzyliśmy program do synchronizacji transakcji z Groupona do Sello. Zaczytujemy z pliku i tworzymy klienta a następnie transakcję. Zgodnie z oczekiwaniami wszystkie dane lądują w tabelach i w Sello mamy podgląd na to co wstawiliśmy. Jednak po wstawieniu takiej transakcji nie możemy nic dodać do bazy (ani nowego klienta ręcznie, ani nowej transakcji ręcznie) - dostajemy komunikat: http://i.imgur.com/k3frRkV.png czyli coś przeoczyliśmy... Pseudokod: // create new client (insert into cs__Customer) CreateNewClient(ADataBase, GetTranById(ATransId), ClientId); if ClientId <> 0 then begin // create client adressess (insert into adr__Address) CreateClientAdressess(ADataBase, GetTranById(ATransId), ClientId); // create transaaction (insert into tr__Transaction) CreateTransaction(ADataBase, GetTranById(ATransId), ClientId, TransId); if TransId <> 0 then begin // create items (insert into tr_Item) CreateTransactionItems(ADataBase, GetTranById(ATransId), TransId); // create transaction adressess (insert into adr__Address) CreateTransactionAdressess(ADataBase, GetTranById(ATransId), TransId); end; end; Proszę o podpowiedź. Cytuj Link to postu
Bartosz Rosa 1 784 Napisano 16 Grudnia 2015 Udostępnij Napisano 16 Grudnia 2015 w Dodawanie nowej transakcji do Sello z poziomu bazy Oczywiście . Przy dodawaniu czegokolwiek do bazy Sello trzeba zaktualizować tabelę ins_Ident, a lepiej nadając identyfikatory własnym rekordom skorzystać z procedury składowanej spIdentyfikator - wtedy nie będzie problemu z wielodostępem do tabeli ins_Ident. Cytuj Link to postu
dan258 0 Napisano 16 Grudnia 2015 Autor Udostępnij Napisano 16 Grudnia 2015 w Dodawanie nowej transakcji do Sello z poziomu bazy Aha... faktycznie tego nie wiedziałem, że macie własny mechanizm. Jeszcze prosiłbym o przykład wywołania tej procedury (parametry) np. dla 'tr__Transaction', dzięki Cytuj Link to postu
Bartosz Rosa 1 784 Napisano 16 Grudnia 2015 Udostępnij Napisano 16 Grudnia 2015 w Dodawanie nowej transakcji do Sello z poziomu bazy Zależnie od użytego języka i mechanizmu dostępu do bazy danych. Procedura przyjmuje dwa parametry (nazwę tabeli i liczbę identyfikatorów do pobrania - zazwyczaj 1) i zwraca typ int. W SQLu kod wygląda tak: declare @wynik int; exec spIdentyfikator 'tr__Transaction', 1, @wynik OUTPUT select @wynik Cytuj Link to postu
dan258 0 Napisano 16 Grudnia 2015 Autor Udostępnij Napisano 16 Grudnia 2015 w Dodawanie nowej transakcji do Sello z poziomu bazy Dzięki, wygląda na to że wszystko działa dobrze, pozdrawiam Cytuj Link to postu
Polecane posty
Dołącz do dyskusji
Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.
Uwaga: Twój wpis zanim będzie widoczny, będzie wymagał zatwierdzenia moderatora.