---
title: "Type Mismatch....hittar inte felet"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/165418-type-mismatch-hittar-inte-felet"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "WebbisNet"
published: "2007-10-12T09:42:50.000Z"
updated: "2007-10-12T10:24:12.000Z"
replies: 8
views: 537
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/asp/165418-type-mismatch-hittar-inte-felet"
---

# Type Mismatch....hittar inte felet

## #1 — WebbisNet, 2007-10-12T09:42Z

var är det type mismatch här i den fetmarkerade raden

```
<%varUsername=request.form("txtUsername")
set rs=Conn.execute("SELECT count(alias) as cUsername FROM eaglemountains WHERE alias = '"& varUsername &"'")

[B]If rs("cUsername") => 1 Then
   response.redirect "/Reg/reg-form.asp?err=double"
end if[/B]

Dim objConn, SQL
Dim varUsername,varPassword,varFornamn,varEfternamn,varCommunity,varCity,varSex,varWebsite,varRegDate,varEmail

Dim txtPersonnr
if varUsername = "" then
response.redirect "reg-form.asp?error=noUserName"
end if
		varUsername = FriendlySQL(Request.Form ("txtUsername"))
		varPassword = Request.Form ("txtPassword")
		varFornamn= FriendlySQL(Request.Form ("txtFornamn"))
		varEfternamn= FriendlySQL(Request.Form ("txtEfternamn"))
		varCommunity = FriendlySQL(request.form("txtCommunity"))
		varCity = FriendlySQL(Request.Form ("underKommun"))
		varSex = FriendlySQL(Request.Form ("chkSex"))
		varRegDate = now()
		'varWebsite = FriendlySQL(Request.Form ("txtWebsite"))
		varEmail = FriendlySQL(Request.Form ("txtEmail"))
		txtPersonnr = getDate("txtPersonnr")
		'varPres= FriendlySQL(Request.Form("txtPres"))
		'varTips= FriendlySQL(Request.Form("txtTipsadAv"))
```

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

## #2 — headbug, 2007-10-12T09:50Z

Jo det beror på precis vad felmeddelandet säger.

Du försöker kolla om strängen rs("") är större eller lika med siffran 1

Om cUsername alltid är en siffra kan du typkonvertera med hjälp av funktionen CInt, till exempel:

```
If CInt(rs("cUsername")) => 1 Then
   response.redirect "/Reg/reg-form.asp?err=double"
end if
```

/HB

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

## #3 — jonne, 2007-10-12T09:50Z

Antar att du är ute efter att kolla om du får tillbaka något resultat från queryn:

```
If NOT rs.EOF Then
   response.redirect "/Reg/reg-form.asp?err=double"
End If
```

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

## #4 — @nders, 2007-10-12T09:52Z

Man ska alltid kontrollera vad man får ut. Min gissning är att det finns risk att du får null.

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

## #5 — headbug, 2007-10-12T09:56Z

Eller kanske att om han får tillbaka fler än exakt en post så finns det dubletter?

Då kan man använda rs.RecordCount

```
If rs.RecordCount > 1 Then
   response.redirect "/Reg/reg-form.asp?err=double"
end if
```

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

## #6 — WebbisNet, 2007-10-12T10:06Z

tack, nu är det att jag inte får ut personnumret, får bara '' vid utskrift, ändrade även datatyp från date till varchar utan framgång. formulärnamnet stämmer så värdet borde skickas med

```
	varUsername = FriendlySQL(Request.Form ("txtUsername"))
		varPassword = Request.Form ("txtPassword")
		varFornamn= FriendlySQL(Request.Form ("txtFornamn"))
		varEfternamn= FriendlySQL(Request.Form ("txtEfternamn"))
		varCommunity = FriendlySQL(request.form("txtCommunity"))
		varCity = FriendlySQL(Request.Form ("underKommun"))
		varSex = FriendlySQL(Request.Form ("chkSex"))
		varRegDate = now()
		'varWebsite = FriendlySQL(Request.Form ("txtWebsite"))
		varEmail = FriendlySQL(Request.Form ("txtEmail"))
		[B]varPersonnr = FriendlySQL(CDate(Request.Form ("txtPersonnr_year") & "-" & Request.Form ("txtPersonnr_month") &"-" & Request.Form ("txtPersonnr_day")))[/B]
		'varPres= FriendlySQL(Request.Form("txtPres"))
		'varTips= FriendlySQL(Request.Form("txtTipsadAv"))

SET objConn = Connect()

	SQL = "INSERT INTO eaglemountains"
	SQL = SQL & "(alias,pass,Fornamn,Efternamn,lan, ort,kon,registrerad, epost,pnr) "
	SQL = SQL & "VALUES('"& varUsername &"','"& varPassword &"','"& varFornamn &"','"& varEfternamn &"','"&varCommunity &"','"& varCity &"','"& varSex &"','"&varRegDate&"','"& varEmail &"',[B]'"&txtPersonnr &"'[/B])"
	varID=session("userID")
	response.write SQL
	response.end
	objConn.Execute(SQL)
```

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

## #7 — headbug, 2007-10-12T10:13Z

Jag vill minnas att CDate är jättebråkig med avseende på rätt kultur-info, den är kräsen på format, om det skall vara backslashar och i vilken ordning siffrorna ska stå...

Om du byter ut Request.Form-historian till "1970-10-02" eller så, blir det rätt då?
Annars testa "02/10/70" osv.

Förresten, vilken lösning var det som fick det att fungera med ditt förra problem?

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

## #8 — @nders, 2007-10-12T10:15Z

Om man är läskunnig så är det inte svårt att se att du kallar variabeln *varPersonnr*, och lägger in *txtPersonnr* i SQL-frågan.

Skriv alltid ut alla variabler så ser du var saker och ting försvinner. Om nu det finns ett värde i variabeln före sql-frågan, men det inte står något i SQL-frågan så finns det inte så många alternativ.

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

## #9 — WebbisNet, 2007-10-12T10:24Z

> **headbug skrev:**
>
> Jag vill minnas att CDate är jättebråkig med avseende på rätt kultur-info, den är kräsen på format, om det skall vara backslashar och i vilken ordning siffrorna ska stå...
> 
> Om du byter ut Request.Form-historian till "1970-10-02" eller så, blir det rätt då?
> Annars testa "02/10/70" osv.
> 
> Förresten, vilken lösning var det som fick det att fungera med ditt förra problem?

Det var CInt från jonne i förra

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/165418-type-mismatch-hittar-inte-felet
