Avatar billede fastpoint Nybegynder
13. maj 2005 - 13:54 Der er 2 kommentarer og
1 løsning

Lidt blandede spørgsmål

Først spørgsmål.
Hvordan låser vi databasen når først query er blevet kørt til insert er blevet kørt?

  public boolean indsaetVare(int vareID, int ordreID, int antal)
  {
    try
    {
    String query = "SELECT VARENAVN,SUM(ANTAL) as COUNT,VAREID,UDSALGSPRIS,TILBUDSPRIS,VINOMRAADE,LAND,VINBESKRIVELSE,MINIMUMLAGER,DRUETYPE,LAGERNAVN,AARGANG FROM TOTALOVERSIGT WHERE vareid = "+vareID+" GROUP BY (VARENAVN,VAREID,UDSALGSPRIS,TILBUDSPRIS,VINOMRAADE,LAND,VINBESKRIVELSE,MINIMUMLAGER,DRUETYPE,LAGERNAVN,AARGANG)";
    result = connection.executeQuery(query); 
    while(result.next())
    {
      antalLigeNu = result.getInt("COUNT");
    }
    restOrdre = antalLigeNu - antal;
    String query = "INSERT INTO OrdreLinie (vareID, ordreNR,antal,antaliRestordre) VALUES ("+vareID+","+ordreID+","+antalLigeNu+","+restOrdre+")";
    connection.executeQuery(query);
    connection.commit();
    result.close();
    }catch(Exception fang)
    {
      fang.toString();
      return false;
    }
   
    return true;
  }
Avatar billede fastpoint Nybegynder
13. maj 2005 - 13:58 #1
Det er noget med for update? men reagere den så på insert? låser den op der?
Avatar billede arne_v Ekspert
13. maj 2005 - 15:25 #2
Hvis din database understøtter det kan du lave:

SELECT f1,f2,f3 FROM t WHERE f4=X FOR UPDATE

nej - en INSERT af en anden række låser ikke op - kun en UPDATE på samme række gør det
Avatar billede fastpoint Nybegynder
24. maj 2005 - 10:09 #3
vi droppede for update og gik efter først til mølle princippet.

problemet var desuden, at vi arbejdede på et view hvor for update ikke virker.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester