16. januar 2005 - 15:40
Der er
25 kommentarer og 1 løsning
Fejl i sql kode?
Vi har problemer med, at indsætte data i vores Access database. Ligger problemet i følgende kode? String stelnummer = t1.getText(); // Hent customer i TextField t1 String bilmærke = t2.getText(); // Hent date i TextField t2 String model = t3.getText(); // Hent name. i TextField t3 int årgang = Integer.parseInt(t4.getText()); String bremse = t5.getText(); String fjedre = t6.getText(); String dør = t7.getText(); String fælge = t8.getText(); String front = t9.getText(); String køler = t10.getText(); //Start.v6.t1.setText(stelnummer); //Start.v6.t2.setText(bilmærke); //Start.v6.t3.setText(model); //Start.v6.t4.setText(årgang); //Start.v6.t5.setText(bremse); //Start.v6.t6.setText(fjedre); //Start.v6.t8.setText(fælge); //Start.v6.t9.setText(front); //Start.v6.t10.setText(køler); SQL.executeUpdate("INSERT INTO profil (Bilmærke, Model, Årgang, Bremse, Fjedre, døre, Fælge, Front, Køler) VALUES('" + bilmærke + "', '" + model +"',' '+ årgang +', '" + bremse + "','" + fjedre + "','" + dør + "','" + fælge + "','" + front + "','" + køler + "')"); eller har vi glemt noget?
Annonceindlæg fra Pointsharp
16. januar 2005 - 15:42
#1
Hvad sker der? Jeg vil altid undgå æøå i feltnavne. Prøv evt [døre] ved dem.
16. januar 2005 - 15:43
#2
Vi får ingen fejlmeddelser, men vi tester lige... Forresten kan vi godt tage information fra databasen! men ikke sætte ind og opdatere
16. januar 2005 - 15:45
#3
Vi har lige ændret det men det hjalp ikke... hvad kan det ellers være?
16. januar 2005 - 15:46
#4
du bruger ikke 'stelnummer' til noget, og det kunne ellers nemt vær primærnøgle i sådan en tabel.
16. januar 2005 - 15:46
#5
ser sådan ud nu String stelnummer = t1.getText(); // Hent customer i TextField t1 String bilmærke = t2.getText(); // Hent date i TextField t2 String model = t3.getText(); // Hent name. i TextField t3 int årgang = Integer.parseInt(t4.getText()); String bremse = t5.getText(); String fjedre = t6.getText(); String dør = t7.getText(); String fælge = t8.getText(); String front = t9.getText(); String køler = t10.getText(); //Start.v6.t1.setText(stelnummer); //Start.v6.t2.setText(bilmærke); //Start.v6.t3.setText(model); //Start.v6.t4.setText(årgang); //Start.v6.t5.setText(bremse); //Start.v6.t6.setText(fjedre); //Start.v6.t8.setText(fælge); //Start.v6.t9.setText(front); //Start.v6.t10.setText(køler); SQL.executeUpdate("INSERT INTO profil (Bilmaerke, Model, Aargang, Bremse, Fjedre, doore, Faelge, Front, Kooler) VALUES('" + bilmærke + "', '" + model +"',' '+ årgang +', '" + bremse + "','" + fjedre + "','" + dør + "','" + fælge + "','" + front + "','" + køler + "')");
16. januar 2005 - 15:47
#6
Hvad gør I med exceptions?
16. januar 2005 - 15:47
#7
jakoba>> Det er netop primær! hvad skal vi gøre?
16. januar 2005 - 15:48
#8
erikjacobsen dem har vi ikke taget højde for endnu:/
16. januar 2005 - 15:50
#9
Hvad gør I?
16. januar 2005 - 15:52
#10
hele metoden her public void actionPerformed(ActionEvent e) { if(e.getActionCommand().equals("Tilbage")) // der er klikket på ButtonText1 { this.setVisible(false); Start.v2.setVisible(true); // Vindue som skal køre ved klik på "Tilbage" } else if(e.getActionCommand().equals("Hjem")) // der er klikket på Buttontext2 { this.setVisible(false); Start.v1.setVisible(true); // Vindue som skal køre ved klik på "Hjem" } else if(e.getActionCommand().equals("Ok")) // der er klikket på Buttontext2 { String stelnummer = t1.getText(); // Hent customer i TextField t1 String bilmærke = t2.getText(); // Hent date i TextField t2 String model = t3.getText(); // Hent name. i TextField t3 int årgang = Integer.parseInt(t4.getText()); String bremse = t5.getText(); String fjedre = t6.getText(); String dør = t7.getText(); String fælge = t8.getText(); String front = t9.getText(); String køler = t10.getText(); //Start.v6.t1.setText(stelnummer); //Start.v6.t2.setText(bilmærke); //Start.v6.t3.setText(model); //Start.v6.t4.setText(årgang); //Start.v6.t5.setText(bremse); //Start.v6.t6.setText(fjedre); //Start.v6.t8.setText(fælge); //Start.v6.t9.setText(front); //Start.v6.t10.setText(køler); SQL.executeUpdate("INSERT INTO profil (Bilmaerke, Model, Aargang, Bremse, Fjedre, doore, Faelge, Front, Kooler) VALUES('" + bilmærke + "', '" + model +"',' '+ årgang +', '" + bremse + "','" + fjedre + "','" + dør + "','" + fælge + "','" + front + "','" + køler + "')"); //SQL.executeUpdate("UPDATE profil SET døre = 'dør'"); //(" + stelnummer + ", '" + bilmærke +"')"); //SQL.executeUpdate("INSERT INTO profil SET døre = 'hej' WHERE døre = 'hallo'"); //System.out.println("UPDATE profil SET døre = 'hej' WHERE døre = 'hallo'"); //String cust = t1.getText(); //Start.v5.t1.setText(cust); //this.setVisible(false); //Start.v5.setVisible(true); // Kode som skal køre ved klik på "Buttontext3" } // . // . else // der er klikket på den sidste button { // Kode som skal køre ved klik på den sidste knap } }
16. januar 2005 - 15:53
#11
Hvad sker der med exceptions i SQL.executeUpdate ?
16. januar 2005 - 16:01
#12
erikjacobsen vi har slet ikke taget højde for det hvad mener du? vi har ikke haft om det før. Hvad kan vi vise dig af kode?
16. januar 2005 - 16:04
#13
Det er bare at SQL fejl skal give jer en SQLException, så I (og vi) kan se hvad der er galt. Det er hovedløs gerning at forsøge sig med SQL i Java uden at få det at vide. Hvad er SQL for et objekt eller klasse?
16. januar 2005 - 16:12
#14
java.lang.NullPointerException at opretprofil2.actionPerformed(opretprofil2.java:165) at java.awt.Button.processActionEvent(Button.java:381) at java.awt.Button.processEvent(Button.java:350) at java.awt.Component.dispatchEventImpl(Component.java:3639) at java.awt.Component.dispatchEvent(Component.java:3480) at java.awt.EventQueue.dispatchEvent(EventQueue.java:450) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:197) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:144) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:136) at java.awt.EventDispatchThread.run(EventDispatchThread.java:99)
16. januar 2005 - 16:15
#15
skal vi medtage String stelnummer = t1.getText(); // Hent customer i TextField t1 i vores sql sætning? hvis ja hvordan fungere det så
16. januar 2005 - 16:18
#16
dette er linje 165.. String stelnummer = t1.getText(); fjerner vi den får vi denne fejl java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression '' '+ årgang +', '1','2','4','4','1','1')'.
16. januar 2005 - 16:22
#17
SQL.executeUpdate("INSERT INTO profil (Bilmaerke) VALUES('" + bilmærke + "')"); virker godt! kan du sætte de andre ind?
16. januar 2005 - 16:32
#18
skal SQL.executeUpdate("INSERT INTO profil (Bilmaerke, Model, Aargang, Bremse, Fjedre, doore, Faelge, Front, Kooler) VALUES('" + bilmærke + "', '" + model +"',' '+ årgang +', '" + bremse + "','" + fjedre + "','" + dør + "','" + fælge + "','" + front + "','" + køler + "')"); ikke være SQL.executeUpdate("INSERT INTO profil (Bilmaerke, Model, Aargang, Bremse, Fjedre, doore, Faelge, Front, Kooler) VALUES('" + bilmærke + "', '" + model +"','" + årgang + "', '" + bremse + "','" + fjedre + "','" + dør + "','" + fælge + "','" + front + "','" + køler + "')"); ?
16. januar 2005 - 16:32
#19
Jeg har sat nogle "" ind før og efter årgang ...
16. januar 2005 - 16:33
#20
Og jeg ville aldrig aldrig aldrig nogen sinde bruge ÆØÅ i felt navne.
16. januar 2005 - 16:35
#21
arne_v tak for det! det virker men vores opdatering virker stadig ikke.. vi får følgende fejl java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression. koden er else if(e.getActionCommand().equals("Ok")) // der er klikket på Buttontext2 { String stelnummer = t1.getText(); // Hent customer i TextField t1 String bilmærke = t2.getText(); // Hent date i TextField t2 String model = t3.getText(); // Hent name. i TextField t3 String årgang = t4.getText(); String bremse = t5.getText(); String fjedre = t6.getText(); String dør = t7.getText(); String fælge = t8.getText(); String front = t9.getText(); String køler = t10.getText(); SQL.executeUpdate("UPDATE profil SET Bremse = '"+bremse+"' Where Stelnr = '"+stelnummer+"'"); } vi tester på bremse derfor de andre felter mangler
16. januar 2005 - 16:39
#22
Lyder som om stelnr feltet er et tal felt således at der skal bruges: SQL.executeUpdate("UPDATE profil SET Bremse = '"+bremse+"' Where Stelnr = "+stelnummer); (altså uden '' omkring)
16. januar 2005 - 16:41
#23
Og hvis det er et tal, så husk at i den virkelige verden er et stelnummer ikke et tal ;)
16. januar 2005 - 16:44
#24
Det virker arne vi kigger sætter lige resten ind og tester:)
16. januar 2005 - 18:26
#25
Læg et svar arne og erikjacobsen tak for hjælpen! ved du ikke tager imod point:)
16. januar 2005 - 18:45
#26
svar
Kurser inden for grundlæggende programmering