webForumDet fria alternativet

Fel i SELECT lr?

Databaser & SQL

4 svar · 276 visningar · startad av bigsky

Medlem sedan maj 2002821 inlägg
Frågan#1

Varför fungerar inte följande kod? Det står "ADODB.Recordset (0x800A0CC1)
Objektet kunde inte hittas i mängden med det begärda namnet eller numret." när man kör den.

SQL = "SELECT MAX(Id) FROM tabell"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open SQL, Connect, 3, 3

Jag vill plocka ut det största värdet från tabellen Id. Alla namn är rättstavade och sökvägen till databasen är korrekt.

Medlem sedan feb. 20022 594 inlägg
#2

Ska man verkligen ha ",3 ,3" då man inte uppdaterar eller lägger till poster?

Medlem sedan juni 200032 967 inlägg
#3

Det är inget fel på den koden. Däremot anger du när du refererar till recordsetet, ett fältnamn som inte finns.

När du ställer en fråga som den du skrivit får du ut ett recordset, med ett fält utan namn. Om du vill att den ska ha ett namn får du ge ett alias i SQL-frågan:

SQL = "SELECT MAX(Id) [b]AS maxid[/b] FROM tabell"

och sedan referera till namnet maxid när du ska skriva ut värdet.

Annars kommer du alltid åt fältvärdet med rs(0).

Mvh,

Medlem sedan dec. 200012 464 inlägg
#4

Är det här för att räkna ut ett nytt unikt id-nummer?

Medlem sedan maj 2002821 inlägg
#5

De löste sig, tack.

266 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)