---
title: "C# och OleDbDataAdapter"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/84702-c-och-oledbdataadapter"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "m_soderlund"
published: "2003-08-28T10:29:04.000Z"
updated: "2003-08-30T13:14:05.000Z"
replies: 7
views: 349
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/84702-c-och-oledbdataadapter"
---

# C# och OleDbDataAdapter

## #1 — m_soderlund, 2003-08-28T10:29Z

Hej!
Jag använder följande kod för att visa lite namn ur en exempeldatabas. Nu är det så att det blir ett felmeddelande och det klagas på dg1.DataSource = objDataset.Tables("tbl");-raden som jag markerat extra.
Jag undrar vad som kan vara fel? Längre ner ser ni VB-koden som utför samma sak.

```
<%@ Page Language="C#" Strict="False" Debug="True" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.OleDb" %>
<script runat="server">

    DataSet objDataset = new DataSet();

    void Page_Load()
    {
    if(!Page.IsPostBack)
    {

      string CnStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Server.MapPath("../db2.mdb");
      string SQL = "SELECT Namn FROM tbl";
      OleDbConnection Cn = new OleDbConnection(CnStr);
      OleDbDataAdapter objAdapter = new OleDbDataAdapter(SQL, Cn);

          objAdapter.Fill(objDataset, "tbl");
          [b]dg1.DataSource = objDataset.Tables("tbl");[/b]
          dg1.DataBind();
          ViewState("Dataset")=objDataset;

      Cn.Close();

     }

     }

    void ChangePage(Object objSender, DataGridPageChangedEventArgs e)
    {
     dg1.CurrentPageIndex = e.NewPageIndex;
     DoDataBind();
    }

    void DoDataBind()
    {
     objDataset = ViewState("Dataset");
     dg1.DataSource = objDataset.Tables("tbl");
     dg1.DataBind();
    }

</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html>
<head>
    <title>C# paging^DataGrid & DataSet</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>

<body>

    <form runat="server">
        <asp:datagrid id="dg1" runat="server" AllowPaging="True" PageSize="10" OnPageIndexChanged="ChangePage"
        AutoGenerateColumns="True" Gridlines="None">
            <PagerStyle Mode="NumericPages" />
        </asp:dataGrid>
    </form>

</body>
</html>
```

VB-kod:

```
<%@ Page Language="VB" Strict="False" Debug="True" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.Oledb" %>
<script runat="server">

    Dim objDataset as New Dataset()
    
    Sub Page_Load()
     If Not Page.IsPostBack Then
    
      Dim CnStr as string = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & server.mappath("../db2.mdb")
      Dim SQL as string = "SELECT Namn FROM tbl"
      Dim Cn as new OleDbConnection(CnStr)
      Dim objAdapter as new OledbDataAdapter(SQL, Cn)
    
          objAdapter.Fill(objDataSet, "tbl")
          dg1.DataSource = objDataSet.Tables("tbl").DefaultView
          dg1.DataBind()
          ViewState("Dataset")=objDataSet
    
      Cn.Close()
    
     End if
    End sub
    
    Sub ChangePage(objSender as Object, e as DataGridPageChangedEventArgs)
     dg1.CurrentPageIndex = e.NewPageIndex
     DoDataBind()
    End sub
    
    Sub DoDataBind()
     objDataset = ViewState("Dataset")
     dg1.DataSource = objDataset.Tables("tbl").Defaultview
     dg1.DataBind()
    End Sub

</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html>
<head>
    <title>VB paging^DataGrid & DataSet</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>

<body>

    <form runat="server">
        <asp:datagrid id="dg1" runat="server" AllowPaging="True" PageSize="10" OnPageIndexChanged="ChangePage"
        AutoGenerateColumns="True" Gridlines="None">
            <PagerStyle Mode="NumericPages" />
        </asp:dataGrid>
    </form>

</body>
</html>
```

Tacksam för hjälp!

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

## #2 — Vide, 2003-08-28T10:53Z

Vad säger felmeddelandet?

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

## #3 — m_soderlund, 2003-08-28T12:55Z

> **Vide skrev:**
>
> Vad säger felmeddelandet?

Jag kommer inte ihåg. :( Datorn har jag hemma, hemma har jag modemuppkoppling = segt, samt att jag nu är i skolan.

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

## #4 — m_soderlund, 2003-08-29T11:07Z

Felet är detta:

> CS0118: 'System.Data.DataSet.Tables' denotes a 'property' where a 'method' was expected
> rad 19 **dg1.DataSource = objDataset.Tables("tbl");**

Tacksam för hjälp!

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

## #5 — PatrikB, 2003-08-29T11:30Z

Ska nog vara:

```
dg1.DataSource = objDataset.Tables("tbl").DefaultView;
```

cya,
/PatrikB

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

## #6 — m_soderlund, 2003-08-29T11:46Z

Jag testade med DefaultView från början, men det fungerade inte på servern. (<http://www.dileno.hel.nu/asp/c-sharp_paging.aspx>)
Dock har jag inte testat sidan lokalt med DefaultView - jag har en svagförnimmelse av att jag testat sidan lokalt med Default**v**iew och C# är ju shiftlägeskänsligt.. :)

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

## #7 — PatrikB, 2003-08-29T12:35Z

he, he ... jepp, den är CaseSensitive

Felet ligger dock på en annan nivå. I VB används oftast ("ItemName") men i C# så är det \["ItemName"\]

Ändra .Tables\["tbl"\] och även när du sparar till ViewState\["ViewStateName"\] så kommer det att gå finemang :e

cya,
/PatrikB

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

## #8 — m_soderlund, 2003-08-30T13:14Z

Tack för hjälpen - dock verkar det som att "min" server inte klarar av C#. Ska testa koden lokalt sen.. :D

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

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/84702-c-och-oledbdataadapter
