aC Skrevet 24. februar 2007 Del Skrevet 24. februar 2007 (endret) Etter mye leting frem og tilbake fikk jeg connecta osv, lagd et par nye databaser og tabeller, tilogmed puttet endel verdier inn i dem med abselutte verdier, men her kommer problemet boolean done = true; int teller; String nm = 1; String val = "etellerannet"; while(!done){ state.executeUpdate("INSERT INTO ny_tabell(auto) VALUES(NULL)"); state.executeUpdate("INSERT INTO ny_tabell(numb)VALUES(nm)"); state.executeUpdate("INSERT INTO ny_tabell(varchar) VALUES(val)"); if(teller == 100) done = false; } gir meg feil, mens hvis jeg gir abselutt verdi så git tabellen men meg 100 med "nm" i "numb" feltet, men det skulle vært 100 "etellerannet" state.executeUpdate("INSERT INTO ny_tabell(numb)VALUES('nm')"); Hvorfor fungerer det ikke å ha en løkke for å bruke variabler å sende til INSERT INTO query'en? Hvorfor funker det kun med abselutte verdier? PS. dette er et konstruert ekempel, so dont question the logic. Endret 27. februar 2007 av aC Lenke til kommentar
Patton Skrevet 24. februar 2007 Del Skrevet 24. februar 2007 Hvorfor fungerer det ikke å ha en løkke for å bruke variabler å sende til INSERT INTO query'en? Hvorfor funker det kun med abselutte verdier? 8014936[/snapback] Du bruker ikke variabler, du har laget en helt vanlig streng. Istedenfor: state.executeUpdate("INSERT INTO ny_tabell(numb)VALUES(nm)"); Må du skrive: state.executeUpdate("INSERT INTO ny_tabell("+numb+")VALUES("+nm+")"); Lenke til kommentar
aC Skrevet 25. februar 2007 Forfatter Del Skrevet 25. februar 2007 (endret) Hvorfor fungerer det ikke å ha en løkke for å bruke variabler å sende til INSERT INTO query'en? Hvorfor funker det kun med abselutte verdier? 8014936[/snapback] Du bruker ikke variabler, du har laget en helt vanlig streng. Istedenfor: state.executeUpdate("INSERT INTO ny_tabell(numb)VALUES(nm)"); Må du skrive: state.executeUpdate("INSERT INTO ny_tabell("+numb+")VALUES("+nm+")"); 8016099[/snapback] Tusen takk for svar raskt svar, og beklager for sent svar fra min side. Har fortsatt litt problemer da. state.executeUpdate("INSERT INTO ny_tabell("+numb+")VALUES("+nm+")"); Her får jeg at "variable numb might not have been initialized" når jeg kompilerer Slik jeg har forstått syntaxen er den delen : ny_tabell("+numb+") feltet i sql tabellen verdien skal legge seg? og VALUES("+en_variabel+") verdien som skal legges der? eller er jeg helt på jordet? Og da, er det riktig at jeg skal bruke " + .. + " etter ny_tabell ? beklager amatørmessige spørsmål her alle innspill blir satt pris på ps. databasen = ny_db tabellen = ny_tab og tabellen har feltene 1. auto (autoincremen) 2. numb (varchar(50) skal bli int etterhvert ) 3. varchar (elendig navn kalle den noe annet senere) Endret 25. februar 2007 av aC Lenke til kommentar
aC Skrevet 25. februar 2007 Forfatter Del Skrevet 25. februar 2007 Ok skjønte det!"!! tatt meg noen dager dette. state.executeUpdate("INSERT INTO ny_tabell("+numb+")VALUES("+nm+")"); er riktig for en verdi som f.eks int eller tall, men for tekst strenger er jo sql kommandoen INSERT INTO tabell (felt1,felt2,....,feltn) VALUES (verdi_felt1,'verdi_felt2' osv); hele poenget, jeg glemte '' apostroffene i VALUES (' ') for strenger... Lenke til kommentar
Patton Skrevet 25. februar 2007 Del Skrevet 25. februar 2007 Ah, da har jeg misforstaatt noe. Slik skal det se ut: int auto = 1; int numb = 2; String varchar = "test"; state.executeUpdate("INSERT INTO ny_tab(auto, numb, varchar) VALUES("+auto+","+numb +","+varchar+")"); Altså, INSERT INTO ny_tab(auto, numb, varchar) definerer tabellen og feltene som skal brukes (blir sendt til databasen slik du ser strengen). VALUES("+auto+","+numb +","+varchar+")") henter verdiene i variablene auto, numb og varchar. Egentlig ser strengen slik: VALUES(1,2,test) (henter verdiene som er definert over. Her får jeg at "variable numb might not have been initialized" når jeg kompilerer Betyr at du ikke har definert java-variabelen numb. (f.eks. int numb;). Siden det er litt vanskelig å følge nøyaktig hva du egentlig vil med halvferdige eksempler, forslår jeg at du poster hele koden din ved neste spørsmål. Lenke til kommentar
Patton Skrevet 25. februar 2007 Del Skrevet 25. februar 2007 Her postet du samtidig som jeg begynte innlegget mitt Lenke til kommentar
aC Skrevet 25. februar 2007 Forfatter Del Skrevet 25. februar 2007 (endret) vel vel, skjønner at jeg kanskje burde ha satt meg bedre inn i sql før jeg begynte å begi meg ut på den lange vanskelige reisen over databaser. Skjønte ikke før jeg så noen INSERT INTO sql kommandoer hva jeg egentlig drev med. Men igjen tusen takk for innlegg, fant svært lite om dette på nettet holdte på å gjøre meg halvsprø. PS. det er helt riktig at jeg ikke skjønte at sql komandoen jeg sendte var en streng <-- tired and goes to bed Endret 25. februar 2007 av aC Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå