Trådstart 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.