Avatar billede c-sharp Nybegynder
05. marts 2004 - 12:37 Der er 1 løsning

Hjælp til stored procedure

Jeg kan ikke helt finde ud af afvikle en stored procedure, min stored procedure ser ud som følger:

CREATE PROC stIndsaetNySide
(
  @menunavn varchar(50),
  @sidenr int,
  @datoFra datetime,
  @datoTil datetime,
  @datoStyring bit,
  @aktiv bit,
  @kundenr int
)
AS
begin

SET NOCOUNT ON

declare @tmpVersion int
declare @sideIndex int
declare @filnavn varchar(50)

select @tmpVersion = version from tblSider, tblKundeSider where tblsider.sidenr = @sidenr and tblsider.sidenr = tblKundesider.sidenr AND kundenr = @kundenr
select @tmpVersion = @tmpVersion + 1
select @filnavn = stdfilnavn from tblKundeSider where kundenr = @kundenr and sidenr = @sidenr
select @filnavn = @filnavn + @tmpVersion

INSERT INTO tblSider
(menunavn, sidenr, datoFra, datoTil, datoStyring, aktiv, filnavn,version)
VALUES
(@menunavn, @sidenr, @datoFra, @datoTil, @datoStyring, @aktiv, @filnavn, @tmpVersion)

select @sideIndex = @@identity

SET NOCOUNT OFF

SELECT @sideIndex as sideIndex, @filnavn as filnavn

end
GO


Min kode i .Net er følgende (Jeg bruger Microsoft Application block til afvikelsen):

                    SqlParameter [] arParms = new SqlParameter[9];

                    arParms[0] = new SqlParameter("@menuNavn", SqlDbType.NVarChar, 50 );
                    arParms[0].Value = menunavn.Text;

                    arParms[1] = new SqlParameter("@sidenr", SqlDbType.Int);
                    arParms[1].Value = sidenavn.DataValueField;

                    arParms[2] = new SqlParameter("@datoFra", SqlDbType.DateTime );
                    arParms[2].Value = datoFraTmp;

                    arParms[3] = new SqlParameter("@datoTil", SqlDbType.DateTime);
                    arParms[3].Value = datoTilTmp;

                    arParms[4] = new SqlParameter("@datoStyring", SqlDbType.Bit );
                    arParms[4].Value = datoStyring;

                    arParms[5] = new SqlParameter("@aktiv", SqlDbType.Bit );
                    arParms[5].Value = 1;//aktiv.Checked;

                    arParms[6] = new SqlParameter("@kundenr", SqlDbType.Int );
                    arParms[6].Value = Session["kundenr"];


                    // @ProductName Output Parameter

                    arParms[7] = new SqlParameter("sideIndex", SqlDbType.Int);
                    arParms[7].Direction = ParameterDirection.Output;

                    arParms[8] = new SqlParameter("filNavn", SqlDbType.NVarChar, 50);
                    arParms[8].Direction = ParameterDirection.Output;

                        SqlHelper.ExecuteNonQuery( connStr, CommandType.StoredProcedure, "stInsaetNySide", arParms);


Jeg får følgende fejl:

System.FormatException: Input string was not in a correct format.

Nogen der kan hjælpe mig med at få det til at virke?
Avatar billede c-sharp Nybegynder
05. marts 2004 - 14:25 #1
Har fundet fejlene!

Det her var et af dem:

select @filnavn + @tmpVersion

det her hjalp:
select @filnavn = @filnavn + convert(varchar(3),@tmpVersion)
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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