Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
public LagerBeholdning hentLagerBeholdning(int vareID) { ResultSet result; try { String query = "SELECT * FROM LAGERBEHOLDNING,MINIMUMLAGER WHERE LAGERBEHOLDNING.lagerBeholdningID = lagerBeholdning.lagerBeholdningID FOR UPDATE"; System.out.println(query); result = connection.executeQuery(query); query = "SELECT SEKTIONNAVN,ANTAL,MINIMUMLAGER,LAGERNAVN,VAREID,AARGANG FROM LAGEROVERSIGT WHERE vareid = "+vareID+" GROUP BY (SEKTIONNAVN,ANTAL,MINIMUMLAGER,LAGERNAVN,VAREID,AARGANG) ORDER BY SEKTIONNAVN"; result = connection.executeQuery(query);
while(result.next()) { if(result.getString("SEKTIONNAVN").equalsIgnoreCase("A")) antalPaSektion[0] = result.getInt("ANTAL"); else if (result.getString("SEKTIONNAVN").equalsIgnoreCase("B")) antalPaSektion[1] = result.getInt("ANTAL"); else if (result.getString("SEKTIONNAVN").equalsIgnoreCase("C")) antalPaSektion[2] = result.getInt("ANTAL"); else if (result.getString("SEKTIONNAVN").equalsIgnoreCase("D")) antalPaSektion[3] = result.getInt("ANTAL");
lagerNavn = result.getString("LAGERNAVN");
}
result.close(); }catch(Exception ax) { System.out.println(ax.toString()); } return new LagerBeholdning(antalPaSektion[0],antalPaSektion[1],antalPaSektion[2],antalPaSektion[3],lagerNavn); }
men vi kom til at tænke på en ting. En vares antal bliver aldrig reduceret i databasen. Der bliver altid lagt mere til antallet! Vi udregner nemlig det antal der ikke er solgt eller reserveret udfra den SQL vi har spurgt dig om i vores andet spørgsmål:) så hvis du kan hjælpe der er problemet måske løst her!
En sælger der skal se hvor meget han kan sælge af en vare får en liste frem vi genere ud fra en SQL sætning som trækker sum'en af Antal på de 4 sektioner fra sum'en af det samlede antal reserverede/solgte vare.
Du kan måske bedre forstå det når du ser det andet spørgsmål igen. Det er det vi prøvede at lave der.
SELECT antal,vareid FROM LAGERBEHOLDNING,MINIMUMLAGER,SEKTION WHERE vareid = 12345678 AND minimumLager.lagerBeholdningID = lagerBeholdning.lagerBeholdningID AND lagerBeholdning.sektionID = Sektion.SektionID FOR UPDATE;
Vi har åbnet to vinduer med programmet SSH Secure Shell Client. I det ene vindue kaldte vi den linje du kan se og i den anden
SELECT antal,vareid FROM LAGERBEHOLDNING,MINIMUMLAGER,SEKTION WHERE vareid = 12345678 AND minimumLager.lagerBeholdningID = lagerBeholdning.lagerBeholdningID AND lagerBeholdning.sektionID = Sektion.SektionID;
men vi kan stadig få den frem? Den burde vel vente til den anden har kørt update? Men vi har ellers fat i den rigtige række.
Vi prøver lige. Vi har faktisk glemt, at teste det eftersom vi troede man slet ikke kunne se rækken før UPDATE var blevet kaldt, men også fordi vi som sagt vi den fejl vi beskriver i indlæg to fra Java.
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.