Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Signal om att SP är klar

Postades av 2003-10-14 11:52:44 - Pelle Mia, i forum asp - allmänt, Tråden har 4 Kommentarer och lästs av 471 personer

Har en ASP-lösning med SP-calls mot en MSSQL-db. Några SP är omfattande och tar kanske upp mot 1 minut innan instruktionerna i SP är klar.

Jag skulle vilja ha följande flöde, typ:

1. Användaren trycker på en knapp "Uppdatera db"
2. Ett nytt litet sessionsfönster (typ 250x250pxl) öppnas där en statusbar rullar samt en text "Databasen uppdateras. Uppdateringen kan ta upp mot 2 minuter! Avvakta signal."
3. När SP är klar ska SP returnera felkoden/körningskoden till det lilla sessionsfönstret som ändrar texten till "Uppdateringen slutförd med felkod: XXX" (Dett funkar också helt ok med en MsgBox eller liknande.

Steg 1 är inga problem, inte heller steg 2. Men 3, hur löser jag detta, både från SP's sida som från ASP-koden?

Ytterst tacksam för lite hjälp på vägen.

// Pelle


Svara

Sv: Signal om att SP är klar

Postades av 2003-10-14 15:11:33 - Pelle Johansson

Förslagsvis så startar du arbetet via din popup-ruta, sätter sessionens timeout rätt högt så du inte får något felmeddelande. När körningen är klar så skriver du bara ut vad du vill med response.write.

Du kan till och med när du är klar stänga fönstret när rutinen är klar med:
response.write "<script>window.close();</script>"


Svara

Sv: Signal om att SP är klar

Postades av 2003-10-14 22:24:01 - Per Morelius

Tack Pelle, du är en guru... men jag är en aning svårfattande!

Min Stored Procedure ser ut så här, t.ex.:

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
CREATE PROCEDURE iH_USER_Update
@User_Namn varchar (50),
@User_Status varchar (50),
@User_Pwd varchar (50),
@User_FullNamn varchar (50),
@User_Foretag varchar (8),
@User_Roll varchar (50),
@User_Beskr text
AS
BEGIN
/* Steg1: Ändrar poster i register */
UPDATE regUSER_tbl
SET User_Status = @User_Status,
User_Pwd = @User_Pwd,
User_FullNamn = @User_FullNamn,
User_Foretag = @User_Foretag,
User_Roll = @User_Roll,
User_Beskr = @User_Beskr
WHERE User_Namn = @User_Namn

END
GO
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

innan END bör det väl finnas en 'RETURN'-variabel av något slag, men hur?


ASP-koden innehåller ett Call på min SP, och skickar med ett antal värden:

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
<!--#include file = ../includes/database1_OpenSP.asp-->
<%
'## STARTAR ÄNDRINGEN I db. Allt sköts i sp
spSQL = "EXEC iH_USER_Update @User_Namn='" & Namn
spSQL = spSQL & "', @User_Status='" & Sts
spSQL = spSQL & "', @User_Pwd='" & Pwd
spSQL = spSQL & "', @User_FullNamn='" & replace(FullNamn, "'", "''")
spSQL = spSQL & "', @User_Foretag='" & FtgNr
spSQL = spSQL & "', @User_Roll='" & Roll
spSQL = spSQL & "', @User_Beskr='" & replace(Ant, "'", "''")
spSQL = spSQL & "'"
CnSQL.Execute(spSQL)
CnSQL.Close
%>

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

Efter Execute-kommandot bör det väl då komma ett RETURN-värde från databasen.. eller?
Denna programmeringsdel fattar jag inte. Om RETURN-värdet ska in i koden/strax efter så innebär det ju att sidan inte visas fullt förrän SP har lämnat sitt RETURN-värde, eller?

Om någon vet någon bra artikel om ASP, SP och RETURN-värden ... så vore jag ytterst tacksam.

//Pelle


Svara

Sv: Signal om att SP är klar

Postades av 2003-10-14 23:32:23 - Oskar Johansson

Sätt timeouten på sidan så högt, inte sessionen... :)

Gör så att du sätter:
response.buffer = false

Sedan:

response.write "<script type=""text/javascript"">document.body.innerHTML='Uppdaterar databasen, det kan ta upp till 2 minuter, var god vänta.'</script>"
dim intReturn 'Stoppa in ditt returvärde här
'EXEKVERA SQL-KOD
response.write "<script type=""text/javascript"">document.body.innerHTML='Klart! Returkod: " & intReturn & "'</script>"


Det här borde fungerar tror jag... :)


Svara

Sv: Signal om att SP är klar

Postades av 2003-10-15 07:47:42 - Pelle Johansson

För att hämta det som returneras skriver du:

set rst = CnSQL.Execute(spSQL)
varde = rst(0)

För att returnera något från din sp som du vill ta hand om skriver du ex:

return 8

Ett annat sätt är att faktiskt skriva en ny select om du vill returnera något speciellt

select sum(x) from tabell

Eller returnera vilket recordid det blev efter en insert

select @@identity


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 792
27 960
271 761
452
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies