webForumDet fria alternativet

Stänga Recordset

ASPur ASP

6 svar · 327 visningar · startad av devotion

devotions avatardevotionMedlem sedan jan. 20013 582 inlägg
Frågan#1

Hej!

I följande kod; behöver man stänga recordsetet efter varje fråga?

	Set objConn = Server.CreateObject("ADODB.Connection")
	objConn.ConnectionString = "DSN=uppdragNu"
	objConn.Open
	
	Set objRS = objConn.Execute ("SELECT nextId FROM tblNextId WHERE table = 'tblTask'")
	iTaskId = Cint(objRS("NextId")) 	
	
	objRS.Close
	Set objRS = Nothing
	
	Set objRS = objConn.Execute ("SELECT * FROM tblSettings WHERE key = 'NextTaskNr'")
	sNextTaskNr = objRS("Value")
	
	objRS.Close
	Set objRS = Nothing
	
	Set objRS = objConn.Execute ("SELECT * FROM tblSettings WHERE key = 'TaskNrPrefix'")
	sTaskNrPrefix = objRS("Value")
	
	objRS.Close
	Set objRS = Nothing

	objConn.Close
	Set objConn = Nothing

eller kan man göra på annat vis?

Mvh
henrik

m_soderlunds avatarm_soderlundMedlem sedan sep. 20026 425 inlägg
#2

Ska du köra alla tre SQL-frågorna samtidigt vid varje anrop?

devotions avatardevotionMedlem sedan jan. 20013 582 inlägg
#3

hmmm, jag tror det...

Henrik

m_soderlunds avatarm_soderlundMedlem sedan sep. 20026 425 inlägg
#4

I så fall kan du göra om de där SQL-frågorna till en SQL-fråga.

SQL = "SELECT nextId,
(SELECT value FROM tblSettings WHERE key = 'NextTaskNr') as value1,
(SELECT value FROM tblSettings WHERE key = 'TaskNrPrefix') as value2
FROM tblNextId WHERE table = 'tblTask'"

set objRs = Cn.Execute(SQL)

objRs.Close : Set objRS = Nothing
objConn.Close : Set objConn = Nothing

sen kommer du åt värdena genom objRs("value1"), objRs(value2") och så objRs("nextId").

En nyfiken fråga - vad är det du ska få ut genom att plocka ut value-kolumnen där key är NextTaskNr eller TaskNrPrefix?

Erik Juhlins avatarErik JuhlinMedlem sedan maj 200010 687 inlägg
#5

Du kan också skippa att ha ett recordset.

Set objConn = Server.CreateObject("ADODB.Connection")
objConn.ConnectionString = "DSN=uppdragNu"
objConn.Open

iTaskId = CLng( objConn.Execute("SELECT nextId FROM tblNextId WHERE table = 'tblTask'")("NextId") )	

sNextTaskNr = objConn.Execute("SELECT * FROM tblSettings WHERE key = 'NextTaskNr'")("Value")

sTaskNrPrefix = objConn.Execute("SELECT * FROM tblSettings WHERE key = 'TaskNrPrefix'")("Value")

objConn.Close
Set objConn = Nothing
devotions avatardevotionMedlem sedan jan. 20013 582 inlägg
#6

Hej!

Det där såg ju lite snyggare ut...

En nyfiken fråga - vad är det du ska få ut genom att plocka ut value-kolumnen där key är NextTaskNr eller TaskNrPrefix?

tblSettings innehåller två kolumner "key" ocjh "value"
NextTaskNr är helt enkelt nästa löpnummer på uppdraget
TaskNrPrefix är uppdragsprefixet
dvs sTaskNr = TaskNrPrefix & NextTaskNr

En konstig lösning kan tyckas men dbstrukturen går det inte att göra något åt...

Mvh
henrik

m_soderlunds avatarm_soderlundMedlem sedan sep. 20026 425 inlägg
#7

Läckert Erik Juhlin! Tack för den (y)

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