java myquery in 1 lange string werkt niet

Pagina: 1
Acties:
  • 56 views sinds 30-01-2008

  • TeH_oNe
  • Registratie: Oktober 2001
  • Laatst online: 15-06-2024

TeH_oNe

YEAH RIGHT

Topicstarter
ik moet een aantal variablen toevoegen via odbc aan acces
(voor school dus geen dingen zoals waarom geen mysql enzo)

maar ik kom er niet uit

<code>
myQuery = "insert into tblMelding ( DatumAanmelding,TypeMelding,Aanvrager,UrgentieGraad,KorteOmschrijving,Omschrijving,StandaardWijziging) values (" + datum + ","type + "," + aanvrager + "," + urgentiegraad + "," + kort + "," + omschrijving + "," + standaarwijziging+ ");";
</code>

tm values zijn het de velden
en na de values de variableen die in de velden moeten
nu zei de leeraar je moet er 1 grote string van maken
(concateneren) maar daar loopt het behoorlijk fout op

wie helpt ?

what?


  • Apache
  • Registratie: Juli 2000
  • Laatst online: 02-09 12:24

Apache

amateur software devver

code:
1
myQuery = "insert into tblMelding ( DatumAanmelding,TypeMelding,Aanvrager,UrgentieGraad,KorteOmschrijving,Omschrijving,StandaardWijziging) values (" + datum + "," + type + "," + aanvrager + "," + urgentiegraad + "," + kort + "," + omschrijving + "," + standaarwijziging + ");";

concateneringsteken vergeten?

wat was/is trouwens de error?

If it ain't broken it doesn't have enough features


  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Dit kan je echt heel goed zelf doen.

Ten eerste geeft ODBC een mooie melding wat er fout ging ( als je de exception iig afdrukt! )

Kom je er dan niet uit? Gooi dan gewoon even myQuery naar System.out, dan zie je je query en kan je zien of ie goed alles optelt en of de waardes in de variabele wel kloppen

Nog steeds niet duidelijk? Controleer dan je datatypes in de database. Om strings moeten ' ' (enkele quotes dus) in SQL en ik kan me bijvorbeeld voorstellen dat de kolom Omschrijving een string bevat.

Wil je al dit gezeik niet? Dan is PreparedQuery je grote vriend -> Zie de API

En nou aan het werk jij!

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Je kunt hiervoor denk ik beter een PreparedStatement gebruiken. Je kunt de waarden dan eenvoudig 'invullen' in de statement ipv deze ietwat onduidelijk string optelling.

Eigenlijk is een PreparedStatement vooral bedoeld voor het herhaald uitvoeren van een query, maar er is geen vergelijkbare functionaliteit voor het 1 malig uitvoeren van een qeury. Bovendien is het verschil tussen een normale statement en een prepared statement meestal niet zo groot (of soms is er geeneens verschil).

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

zie Glimi

Doet iets met Cloud (MS/IBM)


Dit topic is gesloten.