Avatar billede decrypto Nybegynder
23. marts 2005 - 12:54 Der er 18 kommentarer og
1 løsning

Hvordan sprørger jeg om et objekt er et objekt?

Hejsa

Jeg er på udkig efter noget der i alm. vb svarer til IsObject(xxx) som returnerer true eller false.

Hvordan kan jeg gøre det c# simpelt sprøgsmål.
Avatar billede decrypto Nybegynder
23. marts 2005 - 12:56 #1
if (rdr)
  {
  dg.DataSource = rdr;
  dg.DataBind();
  }
else
  {
  Titeltekst.Text = "Indkøbskurv er tom";
  }

//\default.aspx.cs(52): Cannot implicitly convert type 'object' to 'bool'
Avatar billede arne_v Ekspert
23. marts 2005 - 13:01 #2
if(rdr != null)

er det som svarer til din VB

Men du vil nok bruge:

if(rdr.Next()) {
Avatar billede arne_v Ekspert
23. marts 2005 - 13:02 #3
Vrøvl

if(rdr.Read()) {
Avatar billede decrypto Nybegynder
23. marts 2005 - 13:02 #4
hvad er .Next()?
Avatar billede decrypto Nybegynder
23. marts 2005 - 13:03 #5
Jeg kan ikke bruge det nederste eksempel med .Next(), jeg får en fejl:
default.aspx.cs(52): 'object' does not contain a definition for 'Next'
Avatar billede arne_v Ekspert
23. marts 2005 - 13:04 #6
Nej det er nemlig .Read()

:-)
Avatar billede decrypto Nybegynder
23. marts 2005 - 13:04 #7
Det samme får jeg med .Read()

default.aspx.cs(52): 'object' does not contain a definition for 'Read'
Avatar billede arne_v Ekspert
23. marts 2005 - 13:04 #8
Men efter at have kigget i docs så er det nok:

if(rdr.HasRows) {

du skal bruge
Avatar billede arne_v Ekspert
23. marts 2005 - 13:05 #9
Er det ikke en data reader ?
Avatar billede decrypto Nybegynder
23. marts 2005 - 13:07 #10
Jo det er datareader jeg bruger.
Avatar billede arne_v Ekspert
23. marts 2005 - 13:09 #11
En data reader bør have en Read metode og en HasRows property.

Sorry med den Next metode - det er i andre sprog at den hedder next.
Avatar billede decrypto Nybegynder
23. marts 2005 - 13:10 #12
Men når jeg skriver rdr. får jeg kun mulighed for at vælge:
Equals
GetHashCode
GetType
ToString

Hvordan kan jeg så se om det indholder data?
Avatar billede arne_v Ekspert
23. marts 2005 - 13:14 #13
Så ved C# vist kun at det er et Object.

Har den været gemt i session eller sådan noget ?

Prøv:

((XxxxDataReader)rdr).HasRows

Hvor Xxxx er Sql for SQLServer eller OleDb eller Odbc eller Oracle
Avatar billede decrypto Nybegynder
23. marts 2005 - 13:16 #14
Nej, det er ikke gemt i en session. Jeg prøver mig frem...
Avatar billede decrypto Nybegynder
23. marts 2005 - 20:23 #15
Jeg fandt aldrig ud af en mulighed for at spørge om et objekt er tomt eller indholder data.
Avatar billede arne_v Ekspert
23. marts 2005 - 20:28 #16
Det er

rdr != null

men det du vil er nok at teste for om objektet indeholder rækker og det er

rdr.HasRows

(når du har fået det castet til en data reader)
Avatar billede lifo Nybegynder
24. marts 2005 - 07:41 #17
om du bruger firebird database så kan du ikke bruge
rdr.HasRows da den altid vil giver true selv om der ikke er nogle rækker
Avatar billede arne_v Ekspert
24. marts 2005 - 09:25 #18
Av for en "feature"
Avatar billede decrypto Nybegynder
27. maj 2005 - 13:51 #19
Fik selv løst problemet....
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

Lægemiddelstyrelsen

Løsningsarkitekt

AL Sydbank A/S (tidligere Arbejdernes Landsbank)

Afdelingschef til GDPR & Tech Regulation

European Stonecraft

Intern Navision/BC Supporter