webForumDet fria alternativet

.Open eller Execute

ASPur ASP

5 svar · 330 visningar · startad av pirro

Medlem sedan aug. 2001226 inlägg
Frågan#1

Sitter här och funderar....
När man kör sin sql sats ("select * from tbl_tablellen","insert into" osv), vad ska man använda?

Set rsData = objConn.Execute("sql")

eller

Set rsData = Server.CreateObject("ADODB.Recordset")
rsData.Open "sql", objConn, parametrar

När ska man använda vilket?
Och hur ska man veta vilka parametrar man ska använda på exempel nr 2?
1, 2 eller 3, 3 tex.

Själv har ja börjat använda execute nu men vilket ska man använda?

Over and Out
Pirro

Medlem sedan mars 2001309 inlägg
#2

Om du ska ska köra en select sats som inte returnera något värde så kan du köra conn.Execute("sql"). du behöver inte tilldela ett recordset någonting.

Vilka parametrar(cursertype) du ska använda på exempel två beror precis på vad du ska göra.
parametrarna bestämmer ju vad du kan göra med dit recordset.

Medlem sedan dec. 19998 577 inlägg
#3

Ungefär hur jag tänker:

  • "Conn.Execute strSQL" när jag bara skall hämta data och bara loopa framåt.
  • "Conn.Execute strSQL,,128" när jag kör insert, update eller delete.
  • "RecSet.Open" när jag behöver ett clientside recordset för t.ex paging.
Medlem sedan aug. 2001226 inlägg
#4

"Conn.Execute strSQL,,128" när jag kör insert, update eller delete
vad menar du med ,,128 ?
men alltså... vilka parametrar ska man använda till vad i .open?

Medlem sedan dec. 19998 577 inlägg
#5

Parametrarna till .open kan du läsa dig till här: http://www.devguru.com/Technologies/ado/quickref/recordset_open.html

Parametrar till .Execute hittar du här: http://www.devguru.com/Technologies/ado/quickref/connection_execute.html

128 är vad konstanten adExecuteNoRecords innehåller, alltså "Does not return rows".

Mvh, Vide

Medlem sedan aug. 2001226 inlägg
#6

/me läser lite grann..

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