---
title: "Typblandningsfel i villkorsuttryck."
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/182748-typblandningsfel-i-villkorsuttryck"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "saw"
published: "2010-03-11T19:07:45.000Z"
updated: "2010-03-11T20:44:34.000Z"
replies: 4
views: 527
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/182748-typblandningsfel-i-villkorsuttryck"
---

# Typblandningsfel i villkorsuttryck.

## #1 — saw, 2010-03-11T19:07Z

Nu måste jag bara be om hjälp, jag får **Typblandningsfel i villkorsuttryck** och jag kan inte hitta var felet är.

```
 string sNick = Session["nick"].ToString();
            string sRubrik = txtRubrik.Text;
            int iKatId = Convert.ToInt32(DropDownList1.SelectedValue);
            bool bOrginal = true;
            int iSvarpa = 0;
            DateTime dDatum = DateTime.Now;
            int rubrikIcon = Convert.ToInt32(RadioButtonList1.SelectedValue);
            string sInlagg = txtMedelande.Text;
            sql = "INSERT INTO t_forum (nick,rubrik,katId,orginal,svarpa,datum,senast,icon,hits,inlagg)VALUES(?,?,?,?,?,?,?,?,?,?)";

            OleDbCommand cmd = new OleDbCommand(sql, DBConn);
            cmd.CommandType = CommandType.Text;
            cmd.Parameters.AddWithValue("nick", sNick);
            cmd.Parameters.AddWithValue("rubrik", sRubrik);
            cmd.Parameters.AddWithValue("katId", iKatId);
            cmd.Parameters.AddWithValue("orginal", bOrginal);
            cmd.Parameters.AddWithValue("svarpa", iSvarpa);
            cmd.Parameters.AddWithValue("datum", dDatum);
            cmd.Parameters.AddWithValue("senast", dDatum);
            cmd.Parameters.AddWithValue("icon", rubrikIcon);
            cmd.Parameters.AddWithValue("hits", 0);
            cmd.Parameters.AddWithValue("inlagg", sInlagg);
            DBConn.Open();
            cmd.ExecuteNonQuery();
```

Typblandningsfel brukar ju vara om man har fel på sträng, tal osv men jag
vet inte hur man skall styra det. :l

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

## #2 — Peter S, 2010-03-11T19:26Z

Det är inte så att du försöker stoppa in en typ av värde där det egentligen skall vara en annan typ av värde? T.ex. att "rubrikIcon" är av typen sträng men du försöker stoppa in en integer? Det kan även vara så att datumformatet på kolumnen "datum" inte tillåter tiddelen, utan bara datumet (du försöker alltså att stoppa in mer information än vad fältet tillåter).

Vilken databas?

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

## #3 — Compusa, 2010-03-11T19:46Z

Använder du debuggern? Om inte, gör det, då ser du exakt på vilken rad felet inträffar.

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

## #4 — saw, 2010-03-11T20:13Z

Det här skulle jag kanske börjat med:

```
id   räknare
nick   text
rubrik   text
katId   tal
orginal   ja/nej
svarPa   tal
datum   datum/tid
senast   datum/tid
icon   tal
inlagg pm
```

Om jag skriver ut resultatet på en label

```
Nick saw 
rubrik Test 
katid 1 
orginal True 
svarpå 0 
datum 2010-03-11 21:10:42 
senast 2010-03-11 21:10:42 
icon 1 
hits 0 
inlägg Test
```

Detta ser ju helt ok ut.
Sen måste jag erkänna mitt delemma att jag är väldigt dålig på debug,
jag vet nog inte riktigt hur jag skall använda den här...

När jag använde mig av stepIn(tror jag det heter) så hittade jag detta.

```
StackTrace	"   
vid System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(OleDbHResult hr)\r\n   
vid System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult)\r\n   
vid System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult)\r\n   
vid System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult)\r\n   
vid System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)\r\n   
vid System.Data.OleDb.OleDbCommand.ExecuteNonQuery()\r\n   
vid Admin_Forum_allaForum.Nytt() i c:\\inetpub\\wwwroot\\ccc\\Admin\\Forum\\allaForum.aspx.cs:rad 161"	string
```

..men jag förstår nog inte vad som menas.

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

## #5 — saw, 2010-03-11T20:44Z

Lösning var tydligen att göra så här

```
OleDbCommand cmd = new OleDbCommand(sql, DBConn);
            cmd.CommandType = CommandType.Text;
            cmd.Parameters.AddWithValue("nick", sNick);
            cmd.Parameters.AddWithValue("rubrik", sRubrik);
            cmd.Parameters.Add("katId", OleDbType.Integer).Value = iKatId;
            cmd.Parameters.Add("orginal", OleDbType.Boolean).Value = bOrginal;
            cmd.Parameters.Add("svarpa", OleDbType.Integer).Value = iSvarpa;
            cmd.Parameters.Add("datum", OleDbType.Date).Value = dDatum;
            cmd.Parameters.Add("senast", OleDbType.Date).Value = dDatum;
            cmd.Parameters.Add("icon", OleDbType.Integer).Value = rubrikIcon;
            cmd.Parameters.Add("hits", OleDbType.Integer).Value = 0;
            cmd.Parameters.AddWithValue("inlagg", sInlagg);
```

Vad tror ni?
Den lägger in allt i databasen men jag får fortfarande att indatasträngen har
 ett felaktigt format.

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

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/182748-typblandningsfel-i-villkorsuttryck
