---
title: "Grabbar, har ni stött på detta??"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/122047-grabbar-har-ni-stött-på-detta"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "vift"
published: "2005-02-09T01:26:05.000Z"
updated: "2005-02-11T10:19:47.000Z"
replies: 6
views: 498
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/122047-grabbar-har-ni-stött-på-detta"
---

# Grabbar, har ni stött på detta??

## #1 — vift, 2005-02-09T01:26Z

Jag får följade felmeddelande när jag kör min kod:

> Serverfel i tillämpningsprogrammet /.
> \--------------------------------------------------------------------------------
> 
> Det går inte att omvandla typen UInt32 till typen Integer. 
> Beskrivning: Ett undantag som inte kunde hanteras inträffade när den aktuella webbegäran kördes. Mer information om felet och var i koden det uppstod finns i stackspårningen. 
> Undantagsinformation: System.InvalidCastException: Det går inte att omvandla typen UInt32 till typen Integer.

Ingen som har nån ide på vad felet beror på eller vad jag behöver göra för att få den att fungera??

> Koden:
> \<%@ Page language="VB" runat="server" %\>
> \<%@ Register TagPrefix="my" Namespace="MySql.Data.MySqlClient" Assembly="MySql.Data, Version=1.0.4.20163, Culture=neutral, PublicKeyToken=c5687fc88969c44d" %\> 
> \<%@ Import Namespace="System.Data" %\>
> \<%@ Import Namespace="Microsoft.Data.Odbc" %\>
> \<%@ Import Namespace="MySql.Data" %\>
> \<%@ Import Namespace="MySql.Data.MySqlClient" %\>
> 
> \<script language="VB" runat="server"\>
>    
>    Sub submit(obj as Object, e as EventArgs)
> 	dim intID as integer = 0
>   		
> 		Dim strConn as string = "Database=användare;Data Source=localhost;User Id=root;Password=jao"
> 		Dim objConn As New MySqlConnection(strConn)
> 		
> 		Dim objCmd As New MySqlCommand("SELECT anvandarid from anvandare where loginnamn = ?login AND password = ?pass", objConn)
> 		
> 		
> 			dim objParam as MySqlParameter
> 			objParam = objCmd.Parameters.Add("?login", MySqlDbType.varchar)
> 			objParam.value = tbLogin.text
> 			objParam = objCmd.Parameters.Add("?pass", MySqlDbType.varchar)
> 			objParam.value = tbPass.text
> 
> 
> 			
> 		try
> 			objCmd.Connection.Open()
> 			intID = CType(objCmd.ExecuteScalar, integer)
> 			objCmd.Connection.Close
> 			catch ex as mysqlException
> 			lblMessage.text = ex.message
> 		end try
> 		
> 		if intID \<\> 0 then
> 			Response.Cookies("konto").Value = intID
> 			response.Redirect("inloggad.aspx")
> 			else
> 			lblMessage.text = "fel användarnamn eller lösenord"
> 		end if
> 			
> 			
>    
>    end sub
>    public sub SubmitRegister(Sender as Object, e as EventArgs)
>    Response.Redirect("registrera.aspx")
>    end sub
> \</script\> 
> 
> \<html\>
> \<form runat="server"\>
> 
> 	\<asp:Label ID="lblMessage" runat="server"/\>
> \<table height="100" background="login.gif" cellspacing=1 style="font: 8pt verdana"\>
> 
> \<tr\>
> \<td valign="top" width="160"\>\<b\>Användarnamn:\</b\>\</td\>
> \</tr\>
> \<td valign="top"\>\<ASP:TextBox runat="server" Visible="true" id="tbLogin" Width="140" runat="server" BorderStyle="Solid" BorderWidth="1" BackColor="#BC5C5C" Font-Size="8"/\>\</td\>
> \</tr\>
> \<tr\>
> \<td\>\<b\>Lösenord: \</b\>\</td\>
> \</tr\>
> \<tr\>
> \<td\>\<ASP:TextBox runat="server" Visible="true" id="tbPass" TextMode="Password" Width="140" BorderStyle="Solid" BorderWidth="1" BackColor="#BC5C5C"  runat="server" Font-Size="8"/\>\</td\>
> \</tr\>
> \<tr\>
> 
> 
> 
> \<td align="left"\>
> \<ASP:Button runat="server" Visible="true" Text="Submit" runat="server" Font-Size="8" OnClick="Submit" BorderStyle="solid" BorderColor="#000000" BorderWidth="1" BackColor="#BC5C5C"/\>
> \<asp:LinkButton runat="server" Text="Registrera dig" runat="server" Font-Size="8" OnClick="SubmitRegister" /\>\</td\>
> \</tr\>
> \</table\>
> \</form\>
> \</html\>

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

## #2 — Pace, 2005-02-09T02:07Z

Ja, du försöker omvandla UInt32 till typen Integer. UInt är en unsigned integer (icke-negativa tal), vilket innebär att du i din datatabell har satt anvandarid till "unsigned integer" eller motsvarande datatyp.

Troligtvis är det den här raden du har fel på:

```
intID = CType(objCmd.ExecuteScalar, integer)
```

Om du absolut vill ha integer så använd Convert.ToInt32 i stället.

Förresten, välkommen till webForum. ;)

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

## #3 — vift, 2005-02-09T02:51Z

Jo, förstod nästan det, problemet var väl att jag inte kunde begripa varför den skulle vara UInt32 från början iom att det uttryckligen stod att det var en integer i databasen. Dock hittade jag fältet Unsigned efter ditt inlägg! Fungerade mkt bättre efter att jag satte den till false :)

Tack för det, känns bra :)
Verkar dock vara lite sämre fart på asp.net-forumet jämfört med vanliga asp ;P

btw, finns det några fler skillnader på uint och int?

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

## #4 — Pace, 2005-02-09T14:31Z

UInt klarar inte negativa tal, men däremot betydligt högre positiva tal än vanlig integer. Det är enda skillnaden. :)

Vet inte riktigt om det påverkar lagringsutrymmet för datatypen, men det är ju bara med ett fåtal bytes så det har ingen som helst betydelse i dagens system, men kan vara värt att notera.

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

## #5 — spango, 2005-02-10T09:04Z

> **Pace skrev:**
>
> Vet inte riktigt om det påverkar lagringsutrymmet för datatypen, men det är ju bara med ett fåtal bytes så det har ingen som helst betydelse i dagens system, men kan vara värt att notera.

Hela poängen med signed/unsigned (int/uint) är att de tar upp lika mycket plats. Skillnaden är att en bit i signed används för att ange tecken på talet (positivt eller negativt), medan den kan användas för ytterligare större tal i unsigned.

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

## #6 — vift, 2005-02-11T01:08Z

med andra ord kan en uint ha lika mkt högre värde än en int, som en int kan vara negativ, fast bägge tar upp lika mkt plats.

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

## #7 — spango, 2005-02-11T10:19Z

Precis. Där en int börjar på ett ruggigt lågt negativt tal, börjar en uint på noll, och båda går lika långt från sina respektive startpunkter.

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

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/122047-grabbar-har-ni-stött-på-detta
