Springen naar inhoud


- - - - -
VS 2015

Lange Command Regels Inkorten

VS2015

  • Log in a.u.b. om te beantwoorden
Er zijn 5 reacties in dit onderwerp

#1 Rock

Rock

    Starting Developer

  • Leden
  • 24 berichten
    Laatst bezocht 10 mrt 2021 18:34
  • LocatieVlaanderen

Geplaatst op 13 februari 2021 - 17:44

Hallo, een praktisch vraag.  Ik heb in vb een sql database gemaakt met 50 kolommen,  Via een form met 50 tekstboxen kan ik gegevens toevoegen.  De commando regel wordt echter enorm lang : command = New SqlCommandt"insert into TITELS (1, 2, 3, ............ ,50)values(1, 2, 3, ......................., 50)",con) voor alle duidelijkheid, ik gebruik dus niet de cijfers 1 tem 50 maar ieder cijfer staat voor een kolmtitel of een woord uit een tekstbox

#2 Puffeltje

Puffeltje

    Senior Developer

  • Leden
  • PipPipPip
  • 137 berichten
    Laatst bezocht 04 feb 2022 17:28
  • LocatieBeverwijk

Geplaatst op 14 februari 2021 - 16:51

Je kan je regel toch opsplitsen?

Code:
command = New SqlCommandt"insert _
into TITELS (1, 2, _
3, ............ ,50) _
values(1, 2, _
3, ......................., 50)",con)



#3 Rock

Rock

    Starting Developer

  • Leden
  • 24 berichten
    Laatst bezocht 10 mrt 2021 18:34
  • LocatieVlaanderen

Geplaatst op 15 februari 2021 - 10:04

Bedankt Puffeltje,  ik had dit idd reeds geprobeerd maar het gaf foutmeldingen, blijkbaar had ik ergens een typfout gemaakt, alles is OK nu.

#4 Rock

Rock

    Starting Developer

  • Leden
  • 24 berichten
    Laatst bezocht 10 mrt 2021 18:34
  • LocatieVlaanderen

Geplaatst op 15 februari 2021 - 12:13

Blijkbaar te vroeg victorie gekraaid, bleek eerst te werken maar nu krijg ik opnieuw de foutmelding "incorrect syntax near ....."
Het is toch een spatie + underscore + enter of zie ik dat verkeerd ?

#5 dirka

dirka

    Guru Developer

  • Leden
  • PipPipPipPipPipPip
  • 1236 berichten
    Laatst bezocht
  • LocatieAlvorninha, Portugal

Geplaatst op 15 februari 2021 - 13:02

Bericht bekijkenRock, op 15 februari 2021 - 12:13, zei:

Blijkbaar te vroeg victorie gekraaid, bleek eerst te werken maar nu krijg ik opnieuw de foutmelding "incorrect syntax near ....."
Het is toch een spatie + underscore + enter of zie ik dat verkeerd ?

Visual Basic heeft sinds versie 14 (VS2015) multiline strings (de newlines worden overgenomen van de editor in de ide naar de string):

Const cmdText = "
	 SELECT Contact.Id, Contact.Naam, Contact.Straat, Contact.Locatie, Contact.Land,
	 Organisatie.ContactPersoon, Persoon.GeboorteDatum,
	 Organisatie.Id As OrganisatieId, Persoon.Id AS PersoonId,
	 Contact2.Id AS Contact2Id, Contact2.Naam AS Contact2Naam,
	 Contact2.Straat AS Contact2Straat,
	 Contact2.Locatie AS Contact2Locatie, Contact2.Land AS Contact2Land,
	 Persoon2.GeboorteDatum AS Contact2GeboorteDatum,
	 FROM Contact Contact
	 LEFT OUTER JOIN Organisatie Organisatie On Contact.Id = Organisatie.Id
	 LEFT OUTER JOIN Persoon Persoon ON Contact.Id = Persoon.Id
	 LEFT OUTER JOIN Persoon Persoon2 ON Organisatie.ContactPersoon = Persoon2.Id
	 LEFT Outer JOIN Contact Contact2 ON Persoon2.Id = Contact2.Id
	 LEFT Outer JOIN Telefoon ON Persoon2.Id = Contact2.Id
	 WHERE Contact.Naam LIKE @Filter"

Trouwens heeft VB.Net sinds die versie ook string interpolation.

Echter: gebruik op z'n minst parameters i.p.v. je command te concateneren.
Ook datatable/dataset lijkt een betere oplossing.

En misschien heb je geen 50 kolommen nodig, maar een ander ontwerp van je databank?

#6 Rock

Rock

    Starting Developer

  • Leden
  • 24 berichten
    Laatst bezocht 10 mrt 2021 18:34
  • LocatieVlaanderen

Geplaatst op 15 februari 2021 - 14:47

Bedankt voor de reactie, heb het geprobeerd maar lukte niet, na een beetje verder zoeken dan uiteindelijk de oplossing gevonden :

"lijn 1" & vbCrLf &
"lijn 2" & vbCrLf &
"lijn 3"
enz.... , dit werkt wel





Ook met taq VS 2015, VS2015 voorzien

0 gebruiker(s) lezen dit onderwerp

0 lid(leden), 0 bezoeker(s), 0 anonieme gebruikers

Inloggen


[VS 2015] Untitled 1

Met dank aan Jürgen voor de jarenlange inzet van visualbasic.be (anno dec 2000)
Met dank aan Mike en Ronneke voor de jarenlange inzet van vbib.be (anno dec 2010)
Met dank aan PascalBianca voor de jarenlange inzet van vbib.be (anno dec 2016)