det må være fordi s.Peek() ikke returnerer en streng. Erklæring er et dataset sker ved 'Public Sub New(String)' Dvs. du kan ikke smide s.Peek (som er af typen object) ind et sted hvor der forventes en streng !
Nej så meget er jeg også kommet frem til, det var også mest bare for at vise hvad det er som jeg gerne vil have lavet, men jeg kender som sagt ikke syntaxen til det.
det jeg gerne vil er at få det object(dataset) som ligger på stacken til at være det nye h_DataSet.
h_DataSet giver en NullReference execption så er det vel næppe fordi det ikke er den rigtige type, men fordi det ikke peger på noget! Hvis s.Peek returnerer et object er det rigtigt at det skal castes, men så vil _DataSet = s.Peek() give en kompiler fejl fordi _Dataset er typedefineret til Dataset og man prøver at stoppe et object derind! Umiddelbart vil jeg ikke tro at det er castningen der er problemet, det ser for mig at se ud som om der ikke bliver returneret noget fra s.Peek!
z42cool> Jeg er rimelig overbevist om at den NullReference exeption kommer et andet sted fra(jeg må nok indrømme at jeg ikke lige læste spørgsmålet så grundigt, jeg gik bare ud fra at det var cast problemer), prøv evt. at leg med disse 2:
using System; using System.Data; using System.Collections; class StackDemo{ public StackDemo(){ DataSet objDataSet = new DataSet(); Stack s = new Stack(3); s.Push(objDataSet); objDataSet = s.Peek(); Console.WriteLine(objDataSet.Tables.Count); } static void Main(){ new StackDemo(); } }
Og så:
using System; using System.Data; using System.Collections;
class StackDemo{ public StackDemo(){ DataSet objDataSet = new DataSet(); Stack s = new Stack(3); s.Push(objDataSet); objDataSet = (DataSet)s.Peek(); Console.WriteLine(objDataSet.Tables.Count); } static void Main(){ new StackDemo(); } }
moonduck>> Gider ikke lige kompilere det, men umiddelbart giver 1. eksempel en kompileringsfejl i retning af kan ikke implicit caste object til Dataset. Det der undrer mig er, at han ikke får en cast fejl, men derimod en null exception. Det MEGET underlige er, at selv om at s.Peek returnerer null, så bør kompileren give en "kan ikke implicit bla, bla." og derfor bør han aldrig nå til den linie der giver en null exception. Måske kører linien med s.Peek slet ikke!
Det kan gære at det ikke er en tabel der hedder Kategori. Således at h_DataSet er god nok - det er et DataSet og ikke et null objekt, men h_DataSet.Tables("Kategori") returnerer null og så når det galt når du kalder h_DataSet.Tables("Kategori").Rows.Count()
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.