Avatar billede cogitans Nybegynder
19. juli 2007 - 16:33 Der er 8 kommentarer

Konstruktion af StoredProcedure

Jeg skal konstruere en StoredProcedure, som tager imod et input fra clienten, laver nogle beregninger, og sender resulatattet tilbage til clienten.
Jeg har lavet kaldet som sql, hvilket står nedenunder. Meningen er, at der skal laves et opslag i en database, hvori der optælles hvor mange operationer, der er foretaget indenfor et tidsrum, som clienten angiver.

Sql:

SELECT Count(Operationsstuer.OpTypegruppenr) AS CountOfOperationsnr FROM Operationsstuer HAVING ((Operationsstuer.Operationsdato)>='"+Startdato+"' AND (Operationsstuer.Operationsdato)<='"+Slutdato+"'");

I stedet for et simpelt sql-kald, vil jeg gerne oprette funktionalitetten som en StoredProcedure, som elegant leverer resultattet.
Men hvordan får jeg dette gjort, så det virker i Visual Studio 2005?
Avatar billede arne_v Ekspert
21. juli 2007 - 00:13 #1
Du opretter din SP i Enterprise Manager/SQLServer Studio/OSQL.

Og du kalder så SP fra din kode.

Er det første eller anden del du spørger om ?
Avatar billede cogitans Nybegynder
22. juli 2007 - 19:33 #2
Det er mest den sidste del. Altså primært hvordan koden skal se ud for selve SP, så den får funktionalitetten fra SQL'en i spørgsmålet.
Men egentlig også hvordan man skridt for skridt opretter en vilkårlig ST inde i Visual Studio 2005. For indtil videre har jeg llidt problemer med dét også. Faktisk har jeg kun fået det til at virke, hvis jeg manuelt opretter SP under runtime i kodebehinden. Og det kan vil ikke passe, at det er den mest praktiske metode, til at oprette en SP?
Avatar billede arne_v Ekspert
23. juli 2007 - 02:05 #3
Jeg er stadig lidt i tvivl om hvad du leder efter.

Måske:

CREATE PROCEDURE Usp_Cogitans
    @Startdato AS VARCHAR(255),
    @Slutdato AS VARCHAR(255)
AS
SELECT COUNT(Operationsstuer.OpTypegruppenr) AS CountOfOperationsnr FROM Operationsstuer HAVING ((Operationsstuer.Operationsdato)>='"+@Startdato+"' AND (Operationsstuer.Operationsdato)<='"+@Slutdato+"'");
GO
Avatar billede arne_v Ekspert
23. juli 2007 - 02:06 #4
Jeg ville oprette den i SQLServer Studio eller OSQL !
Avatar billede cogitans Nybegynder
23. juli 2007 - 10:41 #5
Eksemplet i
23/07-2007 02:05:32
ser ganske fornuftigt ud.
Men er SQLServer Studio ogOSQL en del af Visual Studio 2005?
Avatar billede cogitans Nybegynder
23. juli 2007 - 12:24 #6
Desuden har jeg også problemer med at opnå forbindelse til databasen. Databasen er access (*.mdb), og når jeg er ved at sætte forbindelsen op inde i "server Explorer->Dataconnections", så giver den "success", når jeg tester forbindelsen. Men når jeg så trykker på "ok", for at lukke wizarden ned, så skriver den "format at the initiation string does not conform to specification starting at index 0".
Så jeg har ikke fuldt opnået opsættelse af forbindelse til databasen.
Avatar billede arne_v Ekspert
23. juli 2007 - 15:14 #7
OSQL kommer med SQLServer.

SQLServer studie kan downloades separat fra MS>

Access ????

Access har ikke stored procedures !

(saved queries ligner meget, men ...)
Avatar billede cogitans Nybegynder
23. juli 2007 - 16:07 #8
Nå, min fejl så. Jeg havde blot fået det indtryk, at man kunne oprette en SP i c#/.Net, som så sørgede for tilgangen til en database - uanset hvilken type. Og så gik jeg da selvsagt ud fra, at Access var blandt, da denne jo er fra Microsoft.
Men findes der så et stykke freeware, som kan konvertere en access-database til en gyldig database indenfor SP?
Men vil det så sige, at man heller ikke kan opnå forbindelse til en Access-database inde i VS2005? Altså man kan jo godt i manuelt programering, men kan man også via den grafiske grænseflade?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester