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


Stored Procedure med OUTPUT...

Postades av 2003-01-30 17:34:04 - Torsten Pause, i forum visual basic - allmänt, Tråden har 9 Kommentarer och lästs av 691 personer

Har skapat en stored procedure... ser ut så här
------------------------------------------------------
create proc sp_addKommentar(@kmr_ID int, @kmr varchar(255), @kommentar_id int OUTPUT) as
begin tran
if @kmr_ID <> 1
update Kommentar set Kommentar = @kmr where KommentarID = @kmr_ID;
else
begin
insert into Kommentar(Kommentar) values(@kmr);
select @kommentar_id = @@Identity
end

if @@error > 0
rollback tran
else
commit tran
Go
-----------------------------------------------------
Problemet är att få in output värdet in i en variabel i VB!!!
Anropar på detta viset i VB...
-----------------------------------------------------
Dim SQL As String
Dim RS As New ADODB.Recordset
Dim test As Integer 'Här var tanken att OUTPUT skulle hamna
SQL = "sp_addKommentar " & KMID & ", " & Chr(39) & rtNotering.Text & Chr(39) & ", " & test & " "
Set RS = Conn.Execute(SQL)
-----------------------------------------------------
Vad gör jag sen?????
Kan någon hjälpa?????


Svara

Sv: Stored Procedure med OUTPUT...

Postades av 2003-01-30 18:13:30 - Andreas Hillqvist

Du kan anväder dig av Command objektet:
<code>
Dim cmd As ADODB.Command
Dim test As Integer
Set cmd = New ADODB.Command
Set cmd.ActiveConnection = Conn
cmd.CommandType = adCmdStoredProc
cmd.CommandText = "sp_addKommentar"
cmd.Parameters.Append cmd.CreateParameter("kmr_ID", adInteger, adParamInput, , KMID)
cmd.Parameters.Append cmd.CreateParameter("kmr", adVarChar, adParamInput, 255, rtNotering.Text)
cmd.Parameters.Append cmd.CreateParameter("kommentar_id", adInteger, adParamOutput)
cmd.Execute , , adExecuteNoRecords

test = cmd.Parameters("kommentar_id").Value
</code>


Svara

Sv: Stored Procedure med OUTPUT...

Postades av 2003-01-30 19:36:05 - Torsten Pause

Jag tackar så jätte mycket!!!

Uff ja, där är mycket kvar att lära sig...

//Torsten


Svara

Sv: Stored Procedure med OUTPUT...

Postades av 2003-01-31 09:10:38 - Stefan Larsson

Lite enklare med refresh!

<code>
Dim cmd As ADODB.Command
Dim test As Integer
Set cmd = New ADODB.Command
Set cmd.ActiveConnection = Conn
cmd.CommandType = adCmdStoredProc
cmd.CommandText = "sp_addKommentar"
cmd.Parameters.refresh
' cmd.Parameters.Append cmd.CreateParameter("kmr_ID", adInteger, adParamInput, , KMID)
' cmd.Parameters.Append cmd.CreateParameter("kmr", adVarChar, adParamInput, 255, rtNotering.Text)
' cmd.Parameters.Append cmd.CreateParameter("kommentar_id", adInteger, adParamOutput)
cmd.Execute , , adExecuteNoRecords

test = cmd.Parameters("kommentar_id").Value

</code>

/Stefan


Svara

Sv: Stored Procedure med OUTPUT...

Postades av 2003-01-31 09:34:19 - Christoffer Hedgate

Enklare ja, snyggare nej, sämre prestanda DEFINITIVT. Använd inte refresh, det är bara ren lathet.


Svara

Sv: Stored Procedure med OUTPUT...

Postades av 2003-01-31 12:07:15 - Stefan Larsson

Hej.

Har man tråden öppen i ett par timmar, gör det inte så mycket att det går åt några extra millisekunder.

/Stefan


Svara

Sv: Stored Procedure med OUTPUT...

Postades av 2003-01-31 13:57:30 - Christoffer Hedgate

Det handlar inte om millisekunder eller tid på något vis, det handlar om att det behövs ett extra anrop till databasen vilket är onödigt.


Svara

Sv: Stored Procedure med OUTPUT...

Postades av 2003-01-31 14:09:38 - Andreas Hillqvist

Håller med Christoffer Hedgate.

Man kan ju använda sig av Refresh under utvecklingen för att se hur paramerarna skall deklareras. Kan ibland vara lite klurigt.
Men om inte parametrarna kommer förändras så är det ju ingen vinning med att använda refresh.

Känner man till vilka parametrar som finns och vilken datatyp det har.
Då tycker jag man ska använda den informationen istället för att vara lat.

Du välja ofta ett spår när man programerrar och fortsätta med det. Väljer man
att da en lättare lösning så kan det straffa sig i längden.

Anrop till databasen belastar både server och klient. Gör man det i onödan så kommer applikationen inte klara samma belastning eller slukar onödigt mycket resurser.

Refresh-metoden är ett onödigt anrop.

Det är därför jag inte använder det utan skapar parametrar manuellt.


Svara

Sv: Stored Procedure med OUTPUT...

Postades av 2003-01-31 16:22:42 - Stefan Larsson

Eftersom anropet sker endast en gång spelar det inte så stor roll. Om man sedan räknar antal IO som det blir när man läser ca 50 000 poster och skapar ca 500 000 i då tror jag nog att den ska orka ett extra anrop.

Att koden inte ser ut att göra det beror på att all kod inte är vad det ser ut att vara.

Refresh är ett bra sätt att slippa fylla sitt program med en massa kod som egentligen inte tillför speciellt mycket.

/Stefan


Svara

Sv: Stored Procedure med OUTPUT...

Postades av 2003-01-31 18:08:42 - Christoffer Hedgate

OK, innan trodde jag bara du var lat, nu vet jag inte vad jag ska tro?

> Eftersom anropet sker endast en gång spelar det inte så stor roll. Om man sedan räknar antal IO som det blir när man läser ca 50 000 poster och skapar ca 500 000 i då tror jag nog att den ska orka ett extra anrop.

Jo, det är ju väldigt vanligt att alla procedurer man kör läser 50 000 poster och skapar 500 000. Och säg inte att det är så i just det här fallet, det är inte vad det handlar om, det är generellt sett vi pratar om. Som Andreas sa, börjar man göra på ett visst sätt så fortsätter man ofta med det. För att inte tala om alla nybörjare som ser din kod och tror det är det bästa sättet.

> Att koden inte ser ut att göra det beror på att all kod inte är vad det ser ut att vara.

Que?

> Refresh är ett bra sätt att slippa fylla sitt program med en massa kod som egentligen inte tillför speciellt mycket.

Nu måste du väl ändå skoja? Du tror väl inte att programmet blir snabbare eller något pga att du använder Refresh istället för att skriva ut parametrarna? Dessutom är det ju betydligt mycket lättare att förstå kod där man skriver ut exakt vad man gör klart och tydligt, än om man använder ex. Refresh.

Lathet är aldrig bra.


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

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 569 170
27 953
271 705
541
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