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


hur tar man imot ett SCOPE_IDENTITY??

Postades av 2004-09-28 16:57:19 - stefan ljungstedt, i forum sql-server/msde, Tråden har 12 Kommentarer och lästs av 961 personer

Om man i en SP gör en insert och sedan skickar tillbaka ett SCOPE_IDENTITY hur tar man imot det i C# metoden


Svara

Sv: hur tar man imot ett SCOPE_IDENTITY??

Postades av 2004-09-28 17:22:03 - Oskar Johansson

int last_id = (int)command_saken.ExecuteScalar();


Svara

Sv: hur tar man imot ett SCOPE_IDENTITY??

Postades av 2004-09-28 17:49:34 - Patrik Dahlén

Eller så använder man OUT parametrar i SPn.


Svara

Sv: hur tar man imot ett SCOPE_IDENTITY??

Postades av 2004-09-28 19:22:59 - Oskar Johansson

Det borde väl bli jobbigare att arbeta med? Eftersom att du måste blanda in en reader sak alltså


Svara

Sv: hur tar man imot ett SCOPE_IDENTITY??

Postades av 2004-09-28 20:02:37 - Patrik Dahlén

Nope, du kör en ExecuteNonQuery istället och behöver inte bekymra dig för att ta hand om ett returvärde. Om SPn tar emot in-värden så ska du ändå använda parametrar, bara att lägga till en till som är OUTPUT och sedan använda den efter att frågan körts.


Svara

Sv: hur tar man imot ett SCOPE_IDENTITY??

Postades av 2004-09-28 21:17:59 - Oskar Johansson

Hm... Iofs ;)


Svara

Sv: hur tar man imot ett SCOPE_IDENTITY??

Postades av 2004-09-29 11:45:48 - stefan ljungstedt

Tjena provat med parametrar men inte fått det attt funka riktigt, jag har provat typ så här:

CMDSokKlubb.Parameters.Add(new SqlParameter("KlubbId",SqlDbType.Int)ParameterDirection.Output));

JAg sätter ) på fel ställen har ni någon annan lösning

MVH Stefan Ljungstedt


Svara

Sv: hur tar man imot ett SCOPE_IDENTITY??

Postades av 2004-09-29 11:54:21 - Patrik Dahlén

Här är ett exempel som jag kör.
OBS, jag använder MS DAAB för databasfrågorna.
<code>
Dim parameters As SqlParameter() = { _
New SqlParameter("@EmailAddress", SqlDbType.NVarChar, 255), _
New SqlParameter("@Password", SqlDbType.Binary, 20), _
New SqlParameter("@FirstName", SqlDbType.NVarChar, 30), _
New SqlParameter("@LastName", SqlDbType.NVarChar, 50), _
New SqlParameter("@UserID", SqlDbType.Int, 4)}

parameters(0).Value = emailAddress
parameters(1).Value = password
parameters(2).Value = firstName
parameters(3).Value = lastName
parameters(4).Direction = ParameterDirection.Output

SqlHelper.ExecuteNonQuery( _
myConnString, _
CommandType.StoredProcedure, _
"Accounts_CreateUser", _
parameters _
)
Return CInt(parameters(4).Value)
</code>
Kom ihåg att du måste lägga in parametern i din Stored procedure också, i mitt fall
<code>
@UserID int OUTPUT
</code>


Svara

Sv: hur tar man imot ett SCOPE_IDENTITY??

Postades av 2004-09-29 14:29:39 - stefan ljungstedt

Hmmm funderar på vad som funkar bäst.

1. Köra din kod ovan och få en int som svar och sedan göra en insert till med svaret från SCOPE_IDENTITY i en ny.

2. Köra en metod som använder sig av parameters så att man kan fylla samma insert i samma metod dock att man använder sig av två sp

3. Använd sig av en sp som tar alla parametrar och gör två insert med SCOPE_IDENTITY från den första som parameter i den andra


Svara

Sv: hur tar man imot ett SCOPE_IDENTITY??

Postades av 2004-09-29 14:31:23 - Patrik Dahlén

Jag skulle ha två sp.
I den första gör jag en INSERT och sen exekverar jag den andra sp:n och skickar in SCOPE_IDENTITY. Då får du alltså skicka in alla värden till den första SPn.


Svara

Sv: hur tar man imot ett SCOPE_IDENTITY??

Postades av 2004-09-29 14:38:07 - stefan ljungstedt

Okey ska prova återkommer om det stöter på fler problem. Tack för hjälpen Patrik

MVH STefan Ljungstedt


Svara

Sv: hur tar man imot ett SCOPE_IDENTITY??

Postades av 2004-09-30 11:47:42 - stefan ljungstedt

Gjorde så här om det kan vara till hjälp för någon. Kanske inte det bästa sättet men det funkar

public void spInsertLag(Lag lag,TeamManager TM)
{
SqlConnection cn = new SqlConnection();
SqlCommand CMDSokLag = new SqlCommand("spInsertTeam",cn);
cn.ConnectionString = Configuration.DefaultConnectionString;
CMDSokLag.CommandType = CommandType.StoredProcedure;
//Puts the parameters in the command
CMDSokLag.Parameters.Add("@LagNamn",SqlDbType.VarChar);
CMDSokLag.Parameters["@LagNamn"].Value = lag.TeamName;

CMDSokLag.Parameters.Add("@ForNamn",SqlDbType.VarChar);
CMDSokLag.Parameters["@ForNamn"].Value = TM.TeamManFName;

CMDSokLag.Parameters.Add("@EfterNamn",SqlDbType.VarChar);
CMDSokLag.Parameters["@EfterNamn"].Value = TM.TeamManEName ;

CMDSokLag.Parameters.Add("@Adress",SqlDbType.VarChar);
CMDSokLag.Parameters["@Adress"].Value = TM.TeamManLeveransadress ;

CMDSokLag.Parameters.Add("@Postnr",SqlDbType.VarChar);
CMDSokLag.Parameters["@Postnr"].Value = TM.TeamManPostnr ;

CMDSokLag.Parameters.Add("@PostOrt",SqlDbType.VarChar);
CMDSokLag.Parameters["@PostOrt"].Value = TM.TeamManOrt ;

CMDSokLag.Parameters.Add("@Telefon",SqlDbType.VarChar);
CMDSokLag.Parameters["@Telefon"].Value = TM.TeamManTelefon ;

CMDSokLag.Parameters.Add("@MobilTelefon",SqlDbType.VarChar);
CMDSokLag.Parameters["@MobilTelefon"].Value = TM.TeamManMobilTelefon ;

CMDSokLag.Parameters.Add("@Epost",SqlDbType.VarChar);
CMDSokLag.Parameters["@Epost"].Value = TM.TeamManEpost ;

CMDSokLag.Parameters.Add("@Datum",SqlDbType.VarChar);
CMDSokLag.Parameters["@Datum"].Value = TM.TeamManDatum ;


CMDSokLag.Parameters.Add(new SqlParameter("@LagId",SqlDbType.Int,0));
CMDSokLag.Parameters["@LagId"].Direction = ParameterDirection.Output;



cn.Open();

CMDSokLag.ExecuteNonQuery();

cn.Close();


SP

CREATE PROCEDURE spInsertTeam

@LagId int Output,
@LagNamn varchar(30),
@ForNamn varchar(30),
@EfterNamn varchar(30),
@Telefon varchar(20),
@MobilTelefon varchar(20),
@Epost varchar(50),
@Datum datetime,
@Adress varchar(30),
@Postnr varchar(10),
@PostOrt varchar(50)

AS
Insert into Team([LagNamn],[RegDatum])VALUES(@LagNamn,@Datum)
set @LagId = SCOPE_IDENTITY();

INSERT INTO Teammanager ([LagAnsFnamn],[LagAnsEnamn],[LagAnsTelefon],[LagAnsMobilTelefon],[LagAnsEpost],[RegDatum],[LagAnsAdress],[LagAnsPostnr],[LagAnsOrt],[LagId])
VALUES(@ForNamn,@EfterNamn,@Telefon,@MobilTelefon,@Epost,@Datum,@Adress,@Postnr,@PostOrt,@LagId)
GO


Svara

Sv: hur tar man imot ett SCOPE_IDENTITY??

Postades av 2004-09-30 12:47:20 - Patrik Dahlén

Det ser väl bra ut. Och om du ska använda id:t i koden efter det så hämtar du det med CMDSokLag.Parameters["@LagId"].Value


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 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

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 619
27 953
271 709
632
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