Frågan 13 dec. 2002 12:04 #1 Det jag undrar över är hur man kan göra en select-sats som alltid returnerar ett värde, även i de fall då det inte finns något i tabellen. Någon som vet hur man gör det? (Jag vill inte använda mig av BOF/EOF).
L LarsG Medlem sedan dec. 2000 12 464 inlägg Det låter som ett konstigt krav. Vad är det för fel på eof?
Så här ser det ut idag men sql-satsen exekueras två gånger.
SQLstmt = "select ff from fibban..test"
IF NOT DataConn.Execute(SQLstmt).EOF THEN arrRecords = DataConn.Execute(SQLstmt).GetRows()
Så här vill jag att det ska stå. Jag vill inte använda mig av recordsetet.
SQLstmt = "select ff from fibban..test"
arrRecords = DataConn.Execute(SQLstmt).GetRows()
@nders Medlem sedan juni 2000 32 967 inlägg Kan du inte göra så här?
SQLstmt = "select ff from fibban..test"
set objRS= DataConn.Execute(SQLstmt)
if not objRS.EOF THEN arrRecords = DataConn.Execute(SQLstmt).GetRows()
L LarsG Medlem sedan dec. 2000 12 464 inlägg Det skapas alltid ett recordset. Att göra en mer komplicerad fråga bara för spara en if här är en suboptimering.
set rs = dataconn.execute(sql)
if not rs.eof then
arrRecords = DataConn.Execute(SQLstmt).GetRows()
end if
Idag så gör jag hämtningar på det sättet, dvs
IF NOT RecSet.EOF THEN arrRecords = RecSet.GetRows
Men det känns som man kan optimera bort det där med if-satsen för EOF. Jag vill att det ska stå så här:
SQLstmt = "select-sats som returnerar ett värde alltid"
arrRecords = DataConn.Execute(SQLstmt).GetRows()
Lyckas man med det så kan man slippa det där med if-satsen och recordsetet.
@nders Medlem sedan juni 2000 32 967 inlägg Du skulle ju kunna göra en union-select på nullvärden. Men jag förstår inte riktigt syftet...
Något sånt här borde funka:
SQLstmt = "select ff from fibban..test union select null"
arrRecords = DataConn.Execute(SQLstmt).GetRows()
mvh,
Jag funderade på det med union också. Det finns inget annat sätt? :)
Jag antar ingen vet eller att det inte går att returnera något. Inte ens ett false eller true värde... :) attans ost
L LarsG Medlem sedan dec. 2000 12 464 inlägg Jo, det går men det är fel sätt.