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 ??
Con.Execute()
10 svar · 381 visningar · startad av eddy1
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
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
vad kännar man på att skriva 128 i slutet? går det snabbare då?
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
Nu brukar jag ju alltid skriva Connect.Execute(SQL), är det dumt? och skriver jag Connect.Execute(SQL,, 128) i mitt fall då?
nej, du ska skriva Connect.Execute(SQL),,128
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
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.
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)?
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.