webForumDet fria alternativet

Problem med Type Missmatch

1 svar · 242 visningar · startad av Troxy

TroxyMedlem sedan mars 20041 505 inlägg
#1

Hej. Jag har ett recordset hämtat ur en MySQL-databas som innehåller lite fält av typen tinyint(1).

Problemet i mitt fall är att om jag försöker jämföra talet i mitt recordset med ett annat tal så blir det fel. Exempel:

if member("status")=1 then

Denna rad ger felet: "Type mismatch".

Men det fungerar om jag typkonverterar:

if cInt(member("status"))=1 then

Detta störande lilla problem inträffar dock endast om jag sätter CursorLocation till 3.

Har någon varit med om detta tidigare?

TroxyMedlem sedan mars 20041 505 inlägg
#2

Okej, pust. Eftersom detta problem inte var så populärt, hehe, så har jag själv grävt djupt ner i detta och hittat en förklaring.
Hoppas iaf att någon fattar detta:

Mitt problem uppstod pga. att en av mina kolumner i MySQL-databasen var av typen TinyInt(1).

* Om jag låter pekaren i ett RecordSet vara på serverns sida (CursorLocation=2) så konverteras en TinyInt till en Int automatiskt. (Varför?)

* Om jag istället låter pekaren vara på klientens sida (CursorLocation=3) så förblir det en TinyInt och måste manuellt koverteras till en Int med hjälp av funktionen cInt().

Nu undrar jag bara: Varför uppstår dessa skillnader mellan datatyper och pekare, och kan man fixa det på något sätt?

129 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)