Mistä voi johtua että Delete -toiminto java-sovelluksessa ei toimi? Kysessä on Access -kanta ja kaikki muut toiminnot Insert, Update jne. ko. sovelluksessa toimii. Vika ei mahdollisesti koodissa koska muissa sovelluksissa samoin koodattu sql -lause toimii.
Delete from Access
Kati
7318
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 7
Vanhimmat
Pitääkö laittaa erikseen joku Commit, että se tekee sen?
..tehty SQL-lause virallisen speksin mukainen vai joku ms-access-viritys? Pistä lause tänne niin ihmetellään sitä sitten tarkemmin.
-Jonttu-
PS. Jotenkin musta alkaa tuntua, että Gates:n tietokoneimperiumi alkaa olla ehtoopuolella.
Sql-lauseita olen kokeillut useita, alla 2 esim. Toisessa sovelluksessa siis ko. lause toimii tosin eri kannassa.
String str = "DELETE FROM PELITIEDOT WHERE ID = " StrId ";";
tai
String str = "DELETE FROM PELITIEDOT WHERE ID = " StrId;
..tietotyyppiä kannan ID kenttä edustaa? Entä oletko kokeillut laittaa heittomerkkiä arvon ympärille "....WHERE ID = '" StrId "';"; ?
-Jonttu-
Onko tuohon tauluun linkitetty muita alatauluja niin, että ko. ID-avain toisessa taulussa osa-avaimena. Tällöin tulee poistaa lapset ennen kuin voi poistaa ylemmän tason otsikkoriviä.
Nimittäin poisto-ongelma aiheutuu siitä että poisto kohdistuu kysely-tauluun jossa on id-kenttä ja tauluissa josta kysely luodaan on myös id-kentät. Kyselyssä oli otettu mukaan vain yhden taulun id-kenttä. Ongelma on nyt se että kun otetaan kyselyyn kaikki id-kentät niin ne nimetään uudelleen koska ovat identiset. Näitä nimettyjä kenttiä Java ei löydä. Ongelman voisi ratkaista siten että muutaisi id-kenttien nimiä alkuperäisissä tauluissa, mutta tämä ei ole hyvä ratkaisu. Mitenkähän tällainen ratkaistaan "oikein"?
..samassa taulussa ei koskaan voi olla kahta samannimistä kenttää, joten taulun nimi on the erottava tekijä, käytä sitä hyvä tyttö.
-Jonttu-