Apche Derby - Java: Gemme et Array i Column ???
Hej Alle Jer på Eksperten.Baggrund: Sidder og leger med Java og nu med en Apache Derby Database. Det er lykkes at stable en database på benene og for så vidt har jeg kontrol over den. Jeg kan skrive Strings og Integer til den, udlæse med mere. Så min Embedded Derby database fungerer.
Jeg har så en stribe heltal, hvis rækkefølge skal holdes og derfor har indtil videre holdt dem i en ArrayList. Dem vil jeg gerne gemme i min database i en kolonne. Så derfor:
Spørgsmålet kort: Kan jeg gemme Array's eller Arralist's i en kolonne og hvordan gøres det?
Jeg har læst mig frem til at Derby har en syntax INDEX og jeg troede at hvis man lave en kolonne om til INDEX, så kunne man gemme Arrays i den kolonne, men der måske noget der smuttet af sporet?
Jeg har prøvet frem og tilbage med:
public void insertIntoColumn(String name, int value){
try{
stmt = conn.createStatement();
stmt.executeUpdate("UPDATE " + tableName +" SET ARRAY = {1,2,3}");
<---eller denne--->
stmt.executeUpdate("UPDATE " + tableName +" SET ARRAY = " + value);
//hvor argumentet "value" er det Array der har heltallene.
stmt.close();
}cacth ....->
har også forsøgt med:
public void updateColumn(String coluName, int[] inStore){
try{
pstmt = conn.prepareStatement("UPDATE " + tableName + " SET " + coluName + " = " + inStore);
pstmt.executeUpdate();
//hvor inStore er Array'et med heltallene.
Jeg har prøvet når jeg opretter databasen at give den CREATE TABLE myTable(ID INTEGER, ARRAYS INTEGER[]);
Så kaster den en SQLException på "[".
Så indtil videre er den kun lykkes at lave myTable(ID INTEGER, ARRAYS INTEGER);
Og derefter "CREATE INDEX arrINDEX ON " + tableName + "( ARRAYS)";
Da der ikke bliver kastet en SQLException, formoder jeg at INDEX virker på min kolonne "ARRAYS", men den vil ikke modtage noget som helst uagtet hvad jeg prøver! Ikke engang et INTEGER
Så jeg håber der er nogen der kan hjælpe mig på rette spor efter 2 aftener uden succes!