Toon posts:

[ASP.net] Gegevenstype komt niet overeen bij invoer database

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een functie waarmee ik een DataTable ophaal. Deze DataTable is de DataSource voor een
Dropdownlist.

Dit gaat allemaal prima. Het DataValueField wordt gevuld met een ID nummer uit de database. Dit is een autonummer.

Maar als ik nu een nieuw record wil opslaan in een andere tabel, met daarin de waarde uit het dropdownmenu, dan krijg ik de melding dat de gegevenstype niet overeenkomen.

Het probleem zit hem dus in het DataValueField van de DropDownList. De waarde die in het DataValueField zit is volgens mij een string-waarde. Als ik in de html-source kijk staan er namelijk " " omheen. In de database moet de waarde opgeslagen worden als numeriek.

Hoe verander ik dus de string-waarde naar een numerieke-waarde? Of doe ik iets anders verkeerd?!

  • 6K
  • Registratie: September 2002
  • Laatst online: 19-01-2025

6K

is ook zo...

code:
1
Convert.ToInt32(DropDownList1.SelectedValue);


:?

[ Voor 42% gewijzigd door 6K op 13-12-2004 13:36 ]

٩(͡๏̯͡๏)۶ ٩(●̮̮̃•̃)۶


Verwijderd

Topicstarter
Zie regel 291,

code:
1
2
3
4
5
Regel 289:        OleDbCmnd = New OleDb.OleDbCommand(sqlCmnd, OleDbConn)
Regel 290:        OleDbCmnd.Parameters.Add("@KlantBrinNr", txtBrinNr.Text)
Regel 291:        OleDbCmnd.Parameters.Add("@KlantRegioID", Convert.ToInt32(drpRegio.SelectedValue))
Regel 292:        OleDbCmnd.Parameters.Add("@KlantSoortID", 1)
Regel 293:        OleDbCmnd.Parameters.Add("@KlantType", 1


Dan krijg ik de foutmelding:

De indeling van de invoertekenreeks is onjuist


*deze manier van Convert naar een integer had ik overigens al geprobeerd

[ Voor 14% gewijzigd door Verwijderd op 13-12-2004 13:46 ]


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

gorgi_19

Kruimeltjes zijn weer op :9

En wat is de value van SelectedValue?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
gewoon een getal, alleen als ik in de source van de HTML kijk staan er wel aanhalingstekens omheen?! Dus volgens mij maakt ie er een string van...en dat wil de database natuurlijk niet :)

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

gorgi_19

Kruimeltjes zijn weer op :9

En txtBrinNr.Text ? :) Gaat die wel goed? :) Ga eens met een debugger er overheen voor de exacte waarden :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • 6K
  • Registratie: September 2002
  • Laatst online: 19-01-2025

6K

is ook zo...

* neemt even aan dat de laatste regel ook een ')' bevat op het einde

en geeft ie de fout expliciet op de selectevalue parameter?
en idd, even met de debugger kijken wat ie letterljik teruggeeft

٩(͡๏̯͡๏)۶ ٩(●̮̮̃•̃)۶


Verwijderd

Topicstarter
gorgi_19 schreef op maandag 13 december 2004 @ 13:49:
En txtBrinNr.Text ? :) Gaat die wel goed? :) Ga eens met een debugger er overheen voor de exacte waarden :)
Dat gaat ook goed! Had ik ook al nagekeken. Maar het ik merk nu dat de waarde die ik selecteer in de dropdown niet wordt doorgegeven. Als ik dus een waarde in drpRegio heb geselecteerd en ik klik op de verzend knop, dan doet het formulier een postback. Met response.write keek ik even of de waarde die ik geselecteerd heb wel doorgegeven werd. Dus niet... bij iedere page load werd de dropdown opnieuw toegewezen aan de datasource... en daarmee ging het dus fout. De geselecteerde waarde ging verloren!

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

gorgi_19

Kruimeltjes zijn weer op :9

If Page.Ispostback Then

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
Klopt, ik had het inmiddels opgelost! Maar even ter zekerheid, als een control bij de eerste pageload een datasource toegewezen gekregen heeft, dan hoeft dat bij de rest van de postbacks dus niet meer?
Pagina: 1