webForumDet fria alternativet

Con.Execute()

ASPur ASP

10 svar · 381 visningar · startad av eddy1

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

Om jag t.ex vill uppdatera eller lägga till i en databas, kan jag då använda insert eller update i SQL satsen och sedan köra med Execute metoden till Connection ??

Medlem sedan juni 200032 967 inlägg
#2

Jepp, du behöver inte skapa något recordset om du ska göra INSERT, UPDATE eller DELETE. Du kan till och med lägga till en option (128 / adExecuteNoRecords) för att meddela ADO att det inte ska skapas något recordset.

Con.Execute strSQL,,128

Mvh

Medlem sedan dec. 20003 887 inlägg
#3

Det går också att lägga till ytterligare en variabel för att kontrollera om det lades till några poster

 [blue]'Lyckas frågan kommer [i]lngRA[/i] att innehålla det antal poster som påverkades (lades till/uppdaterades) av frågan[/blue]
Con.Execute strSQL, lngRA, 128
Medlem sedan maj 20031 173 inlägg
#4

vad kännar man på att skriva 128 i slutet? går det snabbare då?

Medlem sedan juni 200032 967 inlägg
#5

Eftersom det inte skapas något recordset så torde det gå en aning snabbare ja.

Dock är det i de flesta fall försumbart, men man förlorar aldrig på att göra rätt från början. ;)

Mvh

Medlem sedan maj 20031 173 inlägg
#6

Nu brukar jag ju alltid skriva Connect.Execute(SQL), är det dumt? och skriver jag Connect.Execute(SQL,, 128) i mitt fall då?

Medlem sedan juli 20011 084 inlägg
#7

nej, du ska skriva Connect.Execute(SQL),,128

Medlem sedan juni 20019 519 inlägg
#8

Calevan skrev:

Nu brukar jag ju alltid skriva Connect.Execute(SQL), är det dumt? och skriver jag Connect.Execute(SQL,, 128) i mitt fall då?

!redigering!
nästan läs ovan... folk använder () för att hålla reda på saker och ting :e

Medlem sedan dec. 20003 887 inlägg
#9

mozilla skrev:

nej, du ska skriva Connect.Execute(SQL),,128

Jasså?

Skriver man endast

Connect.Execute(SQL)

Tolkas detta som

Connect.Execute(SQL, , -1)

-1 = adCmdUnspecified.

Om du vet att din fråga inte kommer att returnera något använder du dig av 128 (adCmdExecuteNoRecords), d.v.s. alla INSERT-, UPDATE-, DELETE- och DDL-frågor.

Medlem sedan maj 20031 173 inlägg
#10

sorry, men nu blev jag nog ännu mer förvirrad.

1. vad är en DDL-fråga?
2. vad gör tagen -1 dvs adCmdUnspecified?
3. är det fel att använda Connect.Execute(SQL)?

Medlem sedan dec. 20003 887 inlägg
#11

1. DDL = Data Definition Language. Med sådana frågor hanterar du metadatan. Det är t.ex. CREATE-, ALTER- och DROP-frågor och med dessa ändrar du strukturen i databasen.

2. Det betyder att det första argumentet inte är specificierat och ingen information om hur det ska tolkas skickas.

3. Nej. Det beror på sammanhanget. Men det recordset som skapas kommer alltid som readonly och således kan du inte förändra någon data med den metoden utan endast läsa den.

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