mojaSymfonia FORUM https://forum.mix-soft.pl/ |
|
Zapytanie SQL obiekt zamknięty https://forum.mix-soft.pl/viewtopic.php?f=15&t=2327 |
Strona 1 z 1 |
Autor: | kolo81 [ 2010-09-08, 18:20 ] |
Tytuł: | Zapytanie SQL obiekt zamknięty |
Witam ponownie. Zatrzymałem się na dłuższy czas przy takim problemie: Kod: dispatch Cn = "ADODB.Connection" dispatch Rs = "ADODB.Recordset" string zapytanie zapytanie = "SET IDENTITY_INSERT TR ON INSERT INTO TR " zapytanie = zapytanie + " (id,flag,subtyp,typ,owner_base,owner_id,kod,id_kto,id_komu,dzial,ok,data,datarozl,termin,nrozl_oper,wartosc,wartosc_rozl,nrozlilosc,status) " zapytanie = zapytanie2 + "values (\'489\',\'1024\',3,1,33,65198,0,13,28,2,1,0,0,0,0,0,0,0,4) SET IDENTITY_INSERT TR OFF" Rs = Cn.Execute(zapytanie) Rs.Close() W lini Rs = Cn.Execute(zapytanie) pokazuje błąd, iż "Operacja jest niedopuszczalna, gdy obiekt jest zamknięty" ... raz udało mi się dostać do bazy pisząc bezpośrednio kod w jednej linii, moje zapytanie, które chce wykorzystać jest dłuższe od tego przedstawionego tu, dlatego musze podzielić je na parę linii. Jakieś podpowiedzi?? |
Autor: | wrob [ 2010-09-08, 19:02 ] |
Tytuł: | |
Cytuj: W lini Rs = Cn.Execute(zapytanie) pokazuje błąd, iż "Operacja jest niedopuszczalna, gdy obiekt jest zamknięty" Zastanawiam sie - czy to co powyzej system moze prosciej zakomunikowac? Moze prosta analiza tego komunikatu:-) "zamkniety" - nie otwarty "operacja jest niedopuszczalna" - w linii jest jedna operacja - Execute - czyli Execute jest niedopuiszczalene myslimy dalej: "gdy obiekt jest zamkniety" - jako ze Execute odnosi sie do obiektu Cn - oznacza to ze nasz zamkniety (inaczej mowiac - nie otwarty) "obiekt" to CN Czyli metoda dedukcji - trzeba otworzyc Cn Jak to sie robi - metoda lingwistycznej dedukcji - otworzyc - z angielska to Open czyli Cn.Open - a moja wiedza tajemna jescze podpowiada mi iz po Open trzeba napisac co chcemy open - czyli jakis tajemniczo zwany connection string |
Autor: | MMM [ 2010-09-09, 11:12 ] |
Tytuł: | |
Ale tam oprócz tego jest całe mnóstwo innych błędów: 1. użycie "znikąd" zapytanie2 2. wstawianie id typu VARCHAR!!! 3. wstawianie id bez sprawdzenia, czy aby nie istnieje 4. tworzenie niewykorzystywanego recordseta. Już nie wspomnę o takich detalach, jak dodatkowe parametry .Execute |
Autor: | kolo81 [ 2010-09-09, 14:23 ] |
Tytuł: | |
Zgadzam się z wszystkimi błędami. Kod, że tak powiem jest przykładowy bo jest cały czas modyfikowany... Teraz mam problem, że nie mogę się dostać ponieważ obiekt jest otwarty... odwrotna sytuacja... Chodzi mi o to że chcę się dostać do procedury składowej w bazie odpowiedzialnej za wystawianie dokumentu RW... Kod tej całej procedury wyciągnąłem z bazy i chciałbym ją podpiąć do mojego modyfikowanego raportu... Poprostu nie wiem jak wstawić dokument Rw(Wydania do produkcji) dla wybranego zlecenia. Gdyby były jakieś powiązania w bazie tych dokumentów ze zleceniem było by pięknie i bym sobie poradził, dlatego szukam po procedurach składowych jak podpowiedział mi w innym temacie kolega Wrob... Moze ktoś to już robił i podpowie w którą stronę iść?? |
Autor: | wrob [ 2010-09-09, 17:46 ] |
Tytuł: | |
Powiem tak - nie ryzykuj takimi metodami pisania bezposredniego do bazy.. Serwis tej bazy bedzie kosztowny |
Strona 1 z 1 | Strefa czasowa UTC+1godz. [letni] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |