Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[vb.net] Primary key ophalen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,

Ik ben een programma aan het schrijven in vb.net en ik zit vast met een probleem..
Ik heb een datagridview en wanneer de gebruiker op eender welke cel klikt zou ik de primaire sleutel van de rij waar deze cel zich bevind willen ophalen.

Dit is wat ik tot nu toe heb:

Visual Basic .NET: MySupport
65
66
67
 

 primarykey = DataGridView1.SelectedRows(0).Cells("DataGridViewTextBoxColumnProblemID").Value.ToString


De naam van de datagridviewcolumn klopt alsook de index van de geselecteerde rij, normaal gezien.

Dit krijg ik als foutmelding bij het uitvoeren:
"An unhandled exception of type 'System.ArgumentOutOfRangeException' occurred in mscorlib.dll.
Additional information: De index valt buiten het bereik. Deze mag niet negatief zijn en moet kleiner zijn dan de grootte van de verzameling."

Hoe kan ik dit het beste oplossen?

Alvast bedankt!

  • Herko_ter_Horst
  • Registratie: November 2002
  • Niet online
Splits die regel eens op, dan is het wat makkelijker te zien waar het fout gaat.

O.b.v. de foutmelding is mijn eerste verdachte het stukje code waar daadwerkelijk met een index gewerkt wordt, d.w.z. SelectedRows(0). Wat als er geen rows geselecteerd zijn?

"Any sufficiently advanced technology is indistinguishable from magic."


Verwijderd

Topicstarter
Als er geen row geselecteerd is wordt deze regel code niet uitgevoerd.
Als ze wel uitgevoerd wordt krijg ik echter telkens de waarde "0" in mijn primarykey

  • Lethalis
  • Registratie: April 2002
  • Niet online
Maar heb je wel gecontroleerd dat SelectedRows items heeft?

Zet even een breakpoint en daarna inderdaad opsplitsen zoals Herko zegt. Controleer de waarden van:
1. DataGridView1.SelectedRows
2. DataGridView1.SelectedRows.Count
3. DataGridView1.SelectedRows(0)
4. DataGridView1.SelectedRows(0).Cells("DataGridViewTextBoxColumnProblemID")

Ask yourself if you are happy and then you cease to be.