Toon posts:

[ASP.NET & C#] Eerste kolom uit Access DB/Tabel

Pagina: 1
Acties:
  • 235 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Hallo allemaal,

Ik heb problemen met het ophalen van gegevens uit de eerste kolom van een Access tabel. Ik gebruik de volgende code:

code:
1
2
3
4
5
6
        while (drPersoonId.Read() ) {
      
            resultsId.Append ("<tr><td>");
            resultsId.Append (drPersoonId.GetString(0));
            resultsId.Append ("</td></tr>");
        }


Zodra ik een andere waarde invul dat 0, dan werkt het prima. In het geval van mijn tabel 1t/m5. Als ik GetString(1) gebruik, dan laat hij de 2e kolom zien en bij GetString(2) de 3e kolom enz. Dus leek het mij logisch om 0 te gebruiken voor de eerste kolom.

De tabel zier er als volgt uit:

PersoonId Autonummering[KEY]
Voornaam Tekst
Achternaam Tekst
Adres Tekst
Postcode Tekst
Woonplaats Tekst


Dit is de foutmelding:

Serverfout in toepassing /.
--------------------------------------------------------------------------------

De gegevenswaarde kan niet worden geconverteerd wegens andere redenen dan niet-overeenkomend gebruik van ondertekening of gegevensoverloop. De gegevens kunnen bijvoorbeeld beschadigd zijn in het gegevensarchief, maar de rij kon nog worden opgehaald.

Beschrijving: Er is een onverwerkte uitzondering opgetreden tijdens het uitvoeren van de huidige webaanvraag. Raadpleeg de stacktracering voor meer informatie over deze fout en de oorsprong ervan in de code.

Details van uitzondering: System.InvalidCastException: De gegevenswaarde kan niet worden geconverteerd wegens andere redenen dan niet-overeenkomend gebruik van ondertekening of gegevensoverloop. De gegevens kunnen bijvoorbeeld beschadigd zijn in het gegevensarchief, maar de rij kon nog worden opgehaald.

Ik hoop dat jullie me kunnen helpen.

Met vriendelijke groet,

Robert van de Vijver

  • gorgi_19
  • Registratie: Mei 2002
  • Nu online

gorgi_19

Kruimeltjes zijn weer op :9

Controleer eens van welke type het is, want volgens de foutmelding wil je van een koe een haas maken, terwijl het eigenlijk misschien een everzwijn is

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • whoami
  • Registratie: December 2000
  • Laatst online: 09-05 01:02
Hoe ziet jouw query eruit?

https://fgheysels.github.io/


  • Folkert
  • Registratie: September 2001
  • Laatst online: 11:20
Kan je geen:

drPersoonId("kolomNaam")

gebruiken?

drPersoonId is een datareader?... ja dus, ik lees het nu...;-)

[ Voor 22% gewijzigd door Folkert op 25-03-2005 10:59 . Reden: beter lezen Folkert ]


Verwijderd

Topicstarter
gorgi_19 schreef op vrijdag 25 maart 2005 @ 10:52:
Controleer eens van welke type het is, want volgens de foutmelding wil je van een koe een haas maken, terwijl het eigenlijk misschien een everzwijn is
Ik heb van PersoonId ook maar even "Tekst" gemaakt en nu geeft ie geen fout. Maaaar nu is hij niet automatisch genummerd. Dit moet toch anders kunnen?

  • whoami
  • Registratie: December 2000
  • Laatst online: 09-05 01:02
Maak er een numeriek veld van in je databank. Als je een nummer wilt opslaan, maak het dan ook numeriek.
Je zult er voor moeten zorgen dat je datareader dat nummer ook als nummer ophaalt, en dan zal je het later moeten converten naar een string:
code:
1
drReader.GetInt32(0).ToString();

https://fgheysels.github.io/


Verwijderd

Topicstarter
Folkert schreef op vrijdag 25 maart 2005 @ 10:59:
Kan je geen:

drPersoonId("kolomNaam")

gebruiken?

drPersoonId is een datareader?... ja dus, ik lees het nu...;-)
Dat werkt niet. :?

  • whoami
  • Registratie: December 2000
  • Laatst online: 09-05 01:02
Je moet ook een beetje moeite willen doen he berie.

In C# moet je [] haken gebruiken als je de indexer wilt aanspreken, daarnaast zal je hoogstwaarschijnlijk ook nog moeten casten of converten, want je zult een object terugkrijgen.
Leer ook eens de help gebruiken (msdn).
En met gewoon zeggen 'het werkt niet', geef je niet genoeg info als je wil dat wij je kunnen helpen.

[ Voor 16% gewijzigd door whoami op 25-03-2005 11:50 ]

https://fgheysels.github.io/


Verwijderd

Topicstarter
whoami schreef op vrijdag 25 maart 2005 @ 11:33:
Maak er een numeriek veld van in je databank. Als je een nummer wilt opslaan, maak het dan ook numeriek.
Je zult er voor moeten zorgen dat je datareader dat nummer ook als nummer ophaalt, en dan zal je het later moeten converten naar een string:
code:
1
drReader.GetInt32(0).ToString();
Dit werkt!!

Bedankt _/-\o_

  • whoami
  • Registratie: December 2000
  • Laatst online: 09-05 01:02
Lekker makkelijk, klakkeloos overnemen. :/

https://fgheysels.github.io/


  • D4Skunk
  • Registratie: Juni 2003
  • Laatst online: 20-10-2025

D4Skunk

Kind of Blue

offtopic:
[quote]whoami schreef op vrijdag 25 maart 2005 @ 12:03:
Lekker makkelijk, klakkeloos overnemen. :/[/quote]

Ach, je hebt je goeie daad gedaan, en alweer iemand blij gemaakt O-)

  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 01-05 19:09

pjvandesande

GC.Collect(head);

Je kunt ook Convert.ToString( drReader[0] ) gebruiken. Dan maakt het niet uit, mocht je type in de database ooit vernaderen naar een Long omdat de ID's aantal buiten het berijk van de Int32 vallen heb je geen problemen.

[ Voor 7% gewijzigd door pjvandesande op 25-03-2005 17:03 . Reden: typo ]


Verwijderd

Topicstarter
whoami schreef op vrijdag 25 maart 2005 @ 12:03:
Lekker makkelijk, klakkeloos overnemen. :/
Ten eerste ik heb me al kapot (in de redelijke zin van het woord) gezocht voordat ik uberhaupt iemand iets vraag.

Ten tweede waarvoor zijn er anders fora?

Met vriendelijke groet,

Robert van de Vijver

  • whoami
  • Registratie: December 2000
  • Laatst online: 09-05 01:02
Het gaat 'm daar niet om.
Het gaat 'm erom dat je ook een beetje moeite moet doen om te willen begrijpen waarom je dit of dat moet doen.

https://fgheysels.github.io/


  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

questa schreef op vrijdag 25 maart 2005 @ 17:02:
Je kunt ook Convert.ToString( drReader[0] ) gebruiken. Dan maakt het niet uit, mocht je type in de database ooit vernaderen naar een Long omdat de ID's aantal buiten het berijk van de Int32 vallen heb je geen problemen.
Nou lijkt mij 99999999999999999999999999999999 ID's (maximaal) in een tabel me wel heel erg overdreven veel... Ben geen C# kenner / programmeurr, maar lijkt mij dat een Int32 32 characters lang is, wat meer dan genoeg is, voor in een database (Denk zelfs overkill)

En anders is die 32 bits, en dan heb ik niks gezegt... :X

[ Voor 8% gewijzigd door CH4OS op 29-03-2005 14:17 ]


  • BertS
  • Registratie: September 2004
  • Laatst online: 13-02 08:33
GJ-tje schreef op dinsdag 29 maart 2005 @ 14:08:
[...]

Nou lijkt mij 99999999999999999999999999999999 ID's (maximaal) in een tabel me wel heel erg overdreven veel... Ben geen C# kenner / programmeurr, maar lijkt mij dat een Int32 32 characters lang is, wat meer dan genoeg is, voor in een database (Denk zelfs overkill)

En anders is die 32 bits, en dan heb ik niks gezegt... :X
euhm... waarom zou een getal worden uitgedrukt in het aantal karakters dat nodig is om het weer te geven :?
Hou het maar bij het laatste ;)

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

bee-es schreef op dinsdag 29 maart 2005 @ 14:18:
[...]

euhm... waarom zou een getal worden uitgedrukt in het aantal karakters dat nodig is om het weer te geven :?
Hou het maar bij het laatste ;)
Was even in de war met SQL... ;)
integer(5) geeft in SQL een integer van 5 characters... ;) Vandaar :9

offtopic:
Maar ik had toch niks gezegt als ie 32 bits was? :+ O+

[ Voor 3% gewijzigd door CH4OS op 29-03-2005 14:26 ]

Pagina: 1