---
title: "Underliga variabelvärden"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/93625-underliga-variabelvärden"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "trexter"
published: "2003-12-29T23:13:04.000Z"
updated: "2003-12-30T01:12:32.000Z"
replies: 1
views: 173
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/93625-underliga-variabelvärden"
---

# Underliga variabelvärden

## #1 — trexter, 2003-12-29T23:13Z

Jag undrar varför string cat får "Microsoft.Data.Odbc.OdbcDataReader" som värde och inte värdet ur databasen som det är tänk.

```
IDbCommand commuser = ConnectionFactory.makeCommand(conn, "select Xnamn from forumcats where id ="+catid+"");
conn.CreateCommand();
conn.Open();
string cat = Convert.ToString(commuser.ExecuteReader());
conn.Close();
```

Sedan blir tradtitelvariabelns värde en nolla (0) när det i databsen är ett strängvärde.

```
			IDbCommand commValues = ConnectionFactory.makeCommand(conn, "select Xcatid, Xnamn from forumthreads where id ="+threadid+"");
			conn.CreateCommand();
			conn.Open();			
			IDataReader myReader = ConnectionFactory.makeDataReader(commValues);
			while (myReader.Read())
			{
				catid = myReader.GetInt32(0).ToString();
				tradtitel = myReader.GetInt32(1).ToString();
			}
			conn.Close();
```

 :)

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

## #2 — Pace, 2003-12-30T01:12Z

1\. .ExecuteReader() retunerar objekt som OdbcDataReader och konverterar du detta till en sträng får du helt enkelt bara namnet på klassen. Det du ska göra är att hämta datan från DataReadern - men först efter att du instantiserat (heter det så?) den:

```
OdbcDataReader myReader = myCommand.ExecuteReader();
string cat = myReader.GetString(0);
```

2\. Felet är att du hämtar ett strängvärde som tal (GetInt32) som du sedan konverterar till en sträng (ToString). Och eftersom det inte finns något tal i en sträng blir det 0.

```
myReader.GetInt32(1).ToString();
```

Det du bör göra är att hämta ett strängvärde direkt:

```
myReader.GetString(1);
```

Kolla i ODBC.NET-manualen, där står allt sådant plus några exempel.

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

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/93625-underliga-variabelvärden
