webForumDet fria alternativet
Logga in / Bli medlem

Data type mismatch in criteria expression

Databaser & SQL

1 svar · 173 visningar · startad av Jennie_Pennie

Medlem sedan apr. 200235 inlägg
Frågan#1

Hej

Jag håller på att göra en sida i ASP.NET där man ska kunna skicka meddelanden och läsa meddelanden. Jag har dock stött på ett problem med en sql sats. Jag försöker hämta en rad i databasen där MeddelandeID är det man skickade med.

I koden står det nu:

Dim strSql As String = "SELECT * FROM privmeddel WHERE MedID = '"+ strMedID +"';"

Men eftersom strMedID är en sträng och MedID är en räknare (integer antar jag att det är) så går det inte ihop. Då får jag upp Data type mismatch in criteria expression

Jag försökte då göra om strMedID till en integer m.h.a
Dim intMedID As Integer= CInt(strMedID)
och sätta in det i sql satsen:
Dim strSql As String = "SELECT * FROM privmeddel WHERE MedID = "+ intMedID +";"

Men då får jag felmeddelandet: Input string was not in a correct format.

Är det nån som vet hur jag ska göra? Jag satt uppe halva natten med det här... det är säkert hur enkelt som helst men jag har nog stirrat mig blind på det...
:OO

Medlem sedan juni 200032 967 inlägg
#2

Skall man inte använda & för strängkonkatenering även i asp.net?

Du skall inte ha apostrofer runt talvärden och fälten är talfält i tabellen.

Prova detta:

Dim strSql As String = "SELECT * FROM privmeddel WHERE MedID = "& intMedID &";"

Mvh,

264 ms totalt · 4 externa anrop · v20260731065814-full.0583408b
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
130 ms — ändringar (db)