---
title: "felmeddelande.."
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/64363-felmeddelande"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "henrikjohansson"
published: "2003-01-10T07:39:41.000Z"
updated: "2003-01-10T10:36:43.000Z"
replies: 11
views: 277
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/64363-felmeddelande"
---

# felmeddelande..

## #1 — henrikjohansson, 2003-01-10T07:39Z

Jag undrar hur jag åtgärdar detta felet..

Cast from type 'DBNull' to type 'String' is not valid. 

```
    Sub GetNyheter(ByVal Maxantal As Integer)
        Dim myOleDbConn As OleDbConnection
        myOleDbConn = New OleDbConnection()
        myOleDbConn.ConnectionString = System.Configuration.ConfigurationSettings.AppSettings.Get("dbconn")
        myOleDbConn.Open()
        Dim SQL As String = "SELECT top " & Maxantal & " * FROM Nyheter"
        Dim MyOleDbDataAdapter As New OleDbDataAdapter()
        MyOleDbDataAdapter.SelectCommand = New OleDbCommand(SQL, myOleDbConn)

        Dim myDS As New DataSet()
        MyOleDbDataAdapter.Fill(myDS)
        myOleDbConn.Close()

        nyheter.DataSource = myDS
        nyheter.DataBind()  'Det är denna raden den klagar på..

    End Sub
```

 

Är det så att den inte klarar av nullvärden i databasen eller?
för när jag fyller i tomma fält i databasen med nått så fungerar det..

fråga 2:
Kan man använda sig av recordset i .net lika lätt som i gamla ASP? hur ser koden ut isf?

Permalänk: https://www.webforum.nu/p/64363

## #2 — NETwork, 2003-01-10T08:03Z

1) Jodå, visst ska du kunna fylla exempelvis en datagrid med nullvärden. Eller vad är "nyheter" förresten?

2) Har aldrig jobbat med gamla ASP, men generellt gäller att allt är lättare (och bättre) än i gamla ASP... :) Exakt vad är ett recordset!? Är det en enklare variant av en datatable/dataset? Om du förklarar det för mig så ska jag försöka svara på din andra fråga!

Permalänk: https://www.webforum.nu/p/908784

## #3 — henrikjohansson, 2003-01-10T08:13Z

1:
min accessdb innehåller en tabell som heter nyheter.
där det är 
ID -räknare
Titel -Text
Bild -Text
Texten -PM

och den blir error så fort nått bildfält är tomt

2:
Jo i gamla asp så skrev man typ.. (kommer inte ihåg riktigt)

```
set rs = server.createobject("ADODB.Recordset") 
rs.open sql, dbconn
```

och sedan är det enkelt att lägga in och läsa från databasen..

läsa

```
str1 = rs("falt1")
str2 = rs("falt2")
```

så här enkelt Uppdaterade man och för att skapa en helt ny post så skrev man bara rs.addnew före

```
rs("falt1") = "Bengt"
rs("falt22) = "Åke"
rs.update
```

Finns det nått liknande till .Net och hur ser det ut isf.. 
(Helst i vb.net men är inget måste)

Permalänk: https://www.webforum.nu/p/908788

## #4 — NETwork, 2003-01-10T08:29Z

1) Ok, men vad är "nyheter" för något? En datagrid?

2) Kan tyvärr inte VB, men ett recordset låter som en simplare variant av en datatable/dataset. Med en datatable kan du lägga en spegling av en tabell från din databas i serverns internminne (ett dataset kan innehålla många tabeller) och arbeta mot denna istället för att jobba direkt mot dbn. Här kan du sedan göra allt - sortera, ta bort, lägga till, uppdatera UTAN att du behöver ha en connection mot din db alls! Behöver du sedan uppdatera din db med en föärändrad datatable så är det naturligtvis inga problem det heller. En datatable kan du även skicka med i viewstate så du aldrig riskerar att tappa den över postbacks.

Ett recordset är med andra ord en sämre variant av en datatable.

Permalänk: https://www.webforum.nu/p/908797

## #5 — henrikjohansson, 2003-01-10T08:34Z

1).
nyheter är en repeater..

2) ok

Permalänk: https://www.webforum.nu/p/908799

## #6 — NETwork, 2003-01-10T09:05Z

Hm, konstigt... kan det inte vara så att du i din db måste tillåta null-värden för att kunna läsa dem? Eller det kanske du redan gör?

Permalänk: https://www.webforum.nu/p/908810

## #7 — henrikjohansson, 2003-01-10T09:10Z

jag testade att tillåta nulllängd i databasen men det hjälpte inte..

Var kan man läsa mer om datatable/dataset? det låter som att det är bra att kunna

Du menar alltså att om man skall uppdatera en databas så uppdaterar man först allt i en datatable och sedan synkronisera den mot databasen sedan då?

Är det inte risk för att om det är många användare samtidigt så sitter alla med varsin version av databasen eller uppdateras allas datatables om databasen ändras?

Permalänk: https://www.webforum.nu/p/908813

## #8 — NETwork, 2003-01-10T09:22Z

Här har du lite läsning:
<http://aspnet.4guysfromrolla.com/articles/101602-1.aspx>

...och det finns naturligtvis alltid bra information i .net framework sdk dokumentationen!

Permalänk: https://www.webforum.nu/p/908820

## #9 — henrikjohansson, 2003-01-10T09:25Z

ok tack

Permalänk: https://www.webforum.nu/p/908821

## #10 — NETwork, 2003-01-10T09:31Z

Hm, det var nog en dålig länk förresten, tittade inte så noga. Titta här istället:

<http://www.webforum.nu/showthread.php?s=&threadid=60364>

Där finns en massa länkar som kan vara värda att bläddra bland...

Permalänk: https://www.webforum.nu/p/908825

## #11 — henrikjohansson, 2003-01-10T09:55Z

ok..
Men det är fortfarande skumt att den klagar på tomma fält i databasen

Permalänk: https://www.webforum.nu/p/908843

## #12 — NETwork, 2003-01-10T10:36Z

Prova att lägga ditt dataset i en datavy och sen fylla din repeater med datavyn:

```
Dim myDataView As DataView = New DataView(myDataSet.Tables("tabell"))
Repeater.DataSource = myDataView
Repeater.DataBind()
```

(med risk för att min vb-kod inte är riktigt rätt...)

Permalänk: https://www.webforum.nu/p/908869

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/64363-felmeddelande
