Toon posts:

[VB.NET] insert into

Pagina: 1
Acties:

Verwijderd

Topicstarter
ik zit met een probleempje, ik ben dus een programma aan het maken voor studentenadministratie.

Nu werkt met een database en deze benader ik met een oledbconnectie en een oledbcommand.

Nu om records toe te voegen maakt ik gebruik van de volgende code:

code:
1
2
3
studconn.Open()
studcmd = new oledbcommand("INSERT INTO gebruikers (userid, naam, voornaam, gemeente) VALUES ('txtstudnum.Text', 'txtnaam.Text', 'txtvoornaam.Text', 'txtgemeente.Text')", studconn)
studconn.Close()


Nu het probleem is dat ie niet de inhoud van deze objecten in de sql string plaats, maar de letterlijk waarde (txtnaam.Text).
Weet iemand hoe ik de inhoud van deze objecten moet laten doorgeven in de sql-string?

Alvast bedankt!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13:28

gorgi_19

Kruimeltjes zijn weer op :9

Visual Basic .NET:
1
2
studconn.Open()
studcmd = new oledbcommand("INSERT INTO gebruikers (userid, naam, voornaam, gemeente) VALUES ('" & txtstudnum.Text & "', ' " & txtnaam.Text & "' etc.


Maar goed; lees anders het stuk van parametrized queries eens in de FAQ of wees niet verbaasd dat iemand op een bepaald moment je volledige database wist.

[ Voor 42% gewijzigd door gorgi_19 op 26-12-2003 16:12 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • DizzyWeb
  • Registratie: Februari 2001
  • Laatst online: 14:31

DizzyWeb

Ondertiteld

Nu ken ik VB.NET niet, maar is het niet zoiets:

code:
1
2
3
studconn.Open()
studcmd = new oledbcommand("INSERT INTO gebruikers (userid, naam, voornaam, gemeente) VALUES ('" + txtstudnum.Text + "', '" + txtnaam.Text + "', '" + txtvoornaam.Text + "', '" + txtgemeente.Text + "')", studconn)
studconn.Close()


Kweenie wat VB.NET gebruikt om strings aan elkaar te plakken, een + of een . maar dat weet je vast zelf wel :P

edit:

Ok, & kan ook nog :D

[ Voor 57% gewijzigd door DizzyWeb op 26-12-2003 16:13 ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 14:31
Tja, als jij txtstudnum.Text zo in je string zet, dan ziet VB.NET dat gewoon als een deel van die string. Logisch toch?
Je zult dus niet txtStudNum.Text in je string moeten zetten, maar de waarde van txtStudNum.Text.

Ik denk dat je eerst eens eea zult moeten lezen over variablen en dergelijke vooraleer je verder gaat met programmeren met databanken.
Maar goed, om antwoord te geven op je vraag, onlangs was er hier iemand met een gelijkaardig 'probleem'. That is, ook hij begreep blijkbaar niet echt de werking / concept van variabelen.
Dit topic vind je hier.
Daarnaast vind je het misschien interessant om even dit stukje te lezen over parametrized queries.

https://fgheysels.github.io/


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13:28

gorgi_19

Kruimeltjes zijn weer op :9

Kweenie wat VB.NET gebruikt om strings aan elkaar te plakken, een + of een . maar dat weet je vast zelf wel
Beiden fout, 't is een & :P

[ Voor 4% gewijzigd door gorgi_19 op 26-12-2003 16:13 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • DizzyWeb
  • Registratie: Februari 2001
  • Laatst online: 14:31

DizzyWeb

Ondertiteld

gorgi_19 schreef op 26 december 2003 @ 16:13:
[...]

Beiden fout, 't is een & :P
Like I said, ik ken VB.NET niet, maar het principe lijkt me duidelijk :D

Verwijderd

Topicstarter
Dank je wel dizzyweb

  • whoami
  • Registratie: December 2000
  • Laatst online: 14:31
Maar begrijp je nu ook wat je fout gedaan hebt, of neem je gewoon die code over?

https://fgheysels.github.io/


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13:28

gorgi_19

Kruimeltjes zijn weer op :9

* gorgi_19 is trouwens ook heel benieuwd hoe je een naam als
Frederik 't Hoogt
gaat invoeren.. :+

[ Voor 22% gewijzigd door gorgi_19 op 26-12-2003 16:22 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

gorgi_19 schreef op 26 december 2003 @ 16:19:
* gorgi_19 is trouwens ook heel benieuwd hoe je een naam als


[...]

gaat invoeren.. :+
Je kan die makkelijk encoden, of met een simpele find and replace

  • whoami
  • Registratie: December 2000
  • Laatst online: 14:31
Verwijderd schreef op 26 december 2003 @ 16:25:
[...]

Je kan die makkelijk encoden, of met een simpele find and replace
Of nog simpeler: met parametrized queries. (Zie de link naar de FAQ enzo....)

https://fgheysels.github.io/


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 14:22

.oisyn

Moderator Devschuur®

Demotivational Speaker

Hier staat een gelijksoortig probleem (ter referentie :))
[rml][ BCB6] Syntax error bij SQL insert *[/rml]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13:28

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op 26 december 2003 @ 16:25:
[...]

Je kan die makkelijk encoden, of met een simpele find and replace
Eerder escapen.. :P Hoewel het de methodiek is, moet je de methodiek alleen wel toepassen (wat de TS niet doet :P)

Maar goed; parametrized queries, of SP's, blijven wat dat betreft beter. :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Een + gaat ook.
"Dit" + "mag" & "dan weer niet"

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 14:22

.oisyn

Moderator Devschuur®

Demotivational Speaker

Verwijderd schreef op 26 december 2003 @ 17:18:
"Dit" + "mag" & "dan weer niet"
Dat mag wel.
Het is alleen verstanding altijd & te gebruiken, omdat dat altijd resulteert in een string concatenatie, waarbij de + een string converteert naar een numeriek type als een van de operanden numeriek is.

Als beide operanden strings zijn zijn + en & identiek

3 + "5" & "blaat" geeft "8blaat"
3 & "5" & "blaat" geeft "35blaat"

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • whoami
  • Registratie: December 2000
  • Laatst online: 14:31
.oisyn schreef op 26 december 2003 @ 17:40:
[...]
3 + "5" & "blaat" geeft "8blaat"
3 & "5" & "blaat" geeft "35blaat"
Ik vraag mij af of dit uberhaupt compileert in VB.NET ?

Dit zal wel compileren:
code:
1
2
3.ToString() & "5"
3.ToString() + "5"

of
code:
1
3 + Convert.ToInt32("5")

https://fgheysels.github.io/


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 14:22

.oisyn

Moderator Devschuur®

Demotivational Speaker

Volgens de docs wel: http://msdn.microsoft.com...s/vblr7/html/vaopradd.asp
(met Options Strict op off that is)

[ Voor 15% gewijzigd door .oisyn op 26-12-2003 18:28 ]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13:28

gorgi_19

Kruimeltjes zijn weer op :9

Waarbij je dus impliciet casten toestaat :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo

Pagina: 1