---
title: "Databasproblem"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/167023-databasproblem"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "saw"
published: "2007-12-06T15:04:04.000Z"
updated: "2007-12-09T17:29:01.000Z"
replies: 12
views: 755
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/167023-databasproblem"
---

# Databasproblem

## #1 — saw, 2007-12-06T15:04Z

Jag vet att titlen inte är den bästa, men jag hittar ingenting bättre, jag vet
inte riktigt var mina problem ligger.
För att utestuta min connectionstring (jag har access databas).
Jag sparar min connectionstring i webb.config

```
<connectionStrings>
      <add name="ConnectionString1" 
connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source= 
path till\databasen\App_Data\Klass.mdb;Persist Security Info=False;"/>

      <add name="ConnectionString" 
connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source= path 
till\databasen\App_Data\Mansjouren.mdb;Persist Security Info=False;"/>
  </connectionStrings>
```

..och använder den så här:

```
DBConn = new OleDbConnection(ConfigurationManager.ConnectionStrings
["ConnectionString"].ConnectionString);
```

Denna fungerar.

Därefter så försöker jag att använda detta (har gått många gånger förr)

```
//först min sql sedan
 OleDbCommand cmd = new OleDbCommand(sql, DBConn);
    OleDbDataAdapter da = new OleDbDataAdapter();
    da.SelectCommand = cmd;
    DBConn.Open();
    DataSet ds = new DataSet();
    da.Fill(ds, "Nyheter");  <--- Det har inte angetts något värde för en eller 
flera nödvändiga parametrar.
```

Är det någon som ser något fel???  §jr

\[REDIGERAT\]
Efter mycket letande och sökande kunde jag hitta felet. Det var en variabel
till min SQL.
Ursäkta detta inlägg.

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

## #2 — inspiro, 2007-12-07T09:53Z

Tips! Använd datatables istället för datasets, tror inte du behöver något annat... datasets är rätt tunga objekt om jag förstått det rätt, blir bara en massa onödig overhead.

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

## #3 — CatZ, 2007-12-07T14:05Z

<http://www.webforum.nu/showthread.php?p=1373833#post1373833>

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

## #4 — saw, 2007-12-08T08:51Z

Jag är nog lite "hum i duvet" men jag kan inte hitta något bra exempel så att jag kan 
förstå hur det skall gå till.

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

## #5 — CatZ, 2007-12-08T09:45Z

> **saw skrev:**
>
> Jag är nog lite "hum i duvet" men jag kan inte hitta något bra exempel så att jag kan 
> förstå hur det skall gå till.

errrmmm kollade du ens på länken jag postade?

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

## #6 — saw, 2007-12-08T13:10Z

Naturligtvis men jag fick för mig att det var mera inveklat an att jöra som jag har gjort tidigare.
Om jag förstod rätt så skall man göra ett DataSet under alla förutsättningar, var ligger
då vinsten?

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

## #7 — freguz, 2007-12-08T13:52Z

Gör en datatable bara, det räcker gott, drar mindre kräm, och någon adatapter behövs inte.

Exempel ett projekt jag bygger nu

```
public DataTable AllSizes()
		{
			DataTable dt = new DataTable();
			sql = "SELECT Sizes FROM Products WHERE Sizes <> '' AND Sizes is not null";
			cmd = new OleDbCommand(sql, objConn);
			objConn.Open();
			dt.Load(cmd.ExecuteReader());
			objConn.Close();
			return dt;
		}
```

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

## #8 — CatZ, 2007-12-08T13:55Z

Vinsten är prestanda! Ett dataset består enkelt utryckt av en mängd olika datatables så när du ska göra som du vil göra och bara binda resultatet till något så är det VÄLDIGT onödigt slöseri med resurser att använda ett dataset.

Istället rekommenderas datatable (då kan man stänga anslutningen direkt) eller en datareader (då måste man komma ihåg att stänga anslutningen när man är färdig med readern).

```
OleDbCommand cmd = new OleDbCommand(sql, DBConn);
//Open connection create a DataTable and fill it
DBConn.Open();
DataTable dt = new DataTable("Results");
dt.Load(cmd.ExecuteReader());

//Clean up objects
dbCon.Close();
dbCmd.Dispose();
```

Istället för 

```
OleDbCommand cmd = new OleDbCommand(sql, DBConn);
OleDbDataAdapter da = new OleDbDataAdapter();
da.SelectCommand = cmd;
DBConn.Open();
DataSet ds = new DataSet();
da.Fill(ds, "Nyheter");
```

Det är väl inte så svårt? ;)

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

## #9 — saw, 2007-12-08T17:18Z

Nej det ser ju enkelt ut.
Får jag avsluta detta med en fråga, nar jag har

```
dt.Load(cmd.ExecuteReader());
```

hur tar jag ut resultatet?
DVS om jag vill ha ut ett id, rubrik etc..

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

## #10 — freguz, 2007-12-08T17:29Z

tex:

```
if (dt.Rows.Count > 0)
{
    DataRow row = dt.Rows[0];
    Rubriken = row["id"].ToString(); 
}
```

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

## #11 — saw, 2007-12-08T17:33Z

Då tackar jag för detta och önska alla en riktig god jul.

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

## #12 — saw, 2007-12-09T15:16Z

Jag vill bara kommentera att detta fungerade suveränt, eller som en berömd kung
sade " detta skall hädanefter blifa min musik".

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

## #13 — CatZ, 2007-12-09T17:29Z

Skönt att kunna hjälpa till :)

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

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/167023-databasproblem
