Avatar billede torotune Nybegynder
14. oktober 2005 - 13:09 Der er 7 kommentarer og
1 løsning

Fejl når tom post i database

Hej,

Jeg henter nogle poster udfra en database og smider dem i nogle tekstboxe. Nogle af posterne laver jeg en replace() på, ved andre gør jeg ikke:

If ObjRs.Read() Then

  Txt1.Text = ObjRs("P1Text").Replace("<br>", vbCrLf) & ""
  Txt2.Text = ObjRs("P2Text") & ""
  'osv

End If

Da jeg endnu ikke har indhold i alle felter i min db, kommer der en fejl når den støder på en tom post hvorpå den skal lave en replace()

Jeg har søgt lidt herinde og fundet ud af at jeg er ude i noget DBNull, men er lige i tvivl om hvor jeg sætter det ind og om den tjekker for hvis bare én post er tom eller springer over hvis der skulle være en tom post? :-)
Avatar billede Slettet bruger
14. oktober 2005 - 13:13 #1
if ObjRs.Read() Then

if not ObjRs.IsDBNull("P1Text") then
  Txt1.Text = ObjRs("P1Text").Replace("<br>", vbCrLf) & ""
end if

if not ObjRs.IsDBNull("P2Text") then
  Txt2.Text = ObjRs("P2Text") & ""
end if

End If
Avatar billede torotune Nybegynder
14. oktober 2005 - 13:17 #2
Okay, skal jeg virkelig lave en If.. End If ved hver enkel af mine poster? Kan man ikke gøre det mere overordnet? :-)
Avatar billede Slettet bruger
14. oktober 2005 - 13:19 #3
Når jo du kunne jo sørge for at der altid var noget i kolonnerne (database constraint), men hvis det ikke er en option så har du ligesom ikke noget valg.
Avatar billede thrytter Nybegynder
14. oktober 2005 - 14:05 #4
Prøv om du ikke kan nøjes med:

Txt1.Text = ObjRs("P1Text").ToString.Replace("<br>", vbCrLf)
Txt2.Text = ObjRs("P2Text").ToString
Avatar billede torotune Nybegynder
16. oktober 2005 - 00:57 #5
thrytter -> Jeg har ptøvet dit forslag, men det virker stadig ikke. Den stopper og melder fejl så snart der kommer en tom post. Af samme grund bruger jeg & "" efter hvert udtræk, for hvis jeg ikke gør, stopper udtrækket så snart den når til en tom post...

Det virker normalt når jeg laver udtræk - med & "" . Men det medfører åbenbart problemer når man laver udtræk hvor man sætter en replace() på.
Avatar billede torotune Nybegynder
17. oktober 2005 - 17:06 #6
Ikke andre forslag til en enklere løsning?
Avatar billede torotune Nybegynder
17. oktober 2005 - 17:27 #7
Men kryptos - jeg prøver så dit eksempel, men får fejlen:

System.InvalidCastException: Conversion from string "P1Text" to type 'Integer' is not valid. ---> System.FormatException: Input string was not in a correct format. at Microsoft.VisualBasic.CompilerServices.Conversions.ParseDouble(String Value, NumberFormatInfo NumberFormat) at Microsoft.VisualBasic.CompilerServices.Conversions.ToInteger(String Value)
Avatar billede torotune Nybegynder
18. oktober 2005 - 12:30 #8
Jeg fandt ud af det med if not ObjRs.IsDBNull(29) i stedet.

Tak for hjælpen!
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