Avatar billede peterovergaard Nybegynder
07. april 2007 - 12:32 Der er 5 kommentarer og
1 løsning

Store procedure problem

Hej .. jeg har et problem med en stored procedure i min mssql 2005. Det virker fint i en lignende funktion, hvor jeg benytter en int som input. Det virker os fint hvis jeg indtaster/hardcoder Engros ind i:
WHERE type_company_tob = 'Engros'.
Men af en eller anden årsag, så benyttes variablen ikke i min stored procedure.. hjælp! :) Har vedlagt både koden fra min webservice og stored procedure fra db.

---> Webservice:
SqlConnection conn = new SqlConnection(connectionString);

            SqlDataAdapter da = new SqlDataAdapter("[t9User].[GetCompanyTypes]", conn);
            da.SelectCommand.CommandType = CommandType.StoredProcedure;
         
            SqlParameter paramPAF = new SqlParameter();
            paramPAF.ParameterName = "@companyType";
            paramPAF.SqlDbType = SqlDbType.NVarChar;
            paramPAF.Direction = ParameterDirection.Input;
            paramPAF.Value = companyType;

            da.SelectCommand.Parameters.Add(paramPAF);

            DataSet dsCompanyTypes = new DataSet("CompanyTypes");

            conn.Open();
            da.Fill(dsCompanyTypes);
            conn.Close();

            return dsCompanyTypes;


---> Stored procedure:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:        Peter Overgaard
-- Create date: April 7, 2007
-- Description:    Get company types of Detail or Engros
-- =============================================
ALTER PROCEDURE [t9User].[GetCompanyTypes]
    -- Add the parameters for the stored procedure here
    @companyType nvarchar
AS
BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;

    -- Insert statements for procedure here
SELECT id_tob, type_title_tob, description_tob, type_company_tob
FROM type_of_business_tob
WHERE type_company_tob = @companyType
END
Avatar billede dr_chaos Nybegynder
07. april 2007 - 12:54 #1
Du mangler en størrelse på
paramPAF.Size = 255;
og @companyType nvarchar(255)
Avatar billede peterovergaard Nybegynder
07. april 2007 - 13:18 #2
Fedt.. virkede! mange tak
Avatar billede dr_chaos Nybegynder
07. april 2007 - 13:23 #3
np smider lige et svar :)
Du skal næsten altid angive en størrelse på din parameter. Dog ikke hvis det f.eks. er en int eller text.
Men du skal bare prøve dig lidt frem.
På char baseret variabler som nvarchar og varchar skal du altid angive en størrelse ellers bliver størrelsen 1.
Avatar billede peterovergaard Nybegynder
07. april 2007 - 13:23 #4
Virker helt perfekt... er total nb herinde.. hvordan accepterer man svaret..
Avatar billede peterovergaard Nybegynder
07. april 2007 - 13:25 #5
ok tak..vil huske!
Avatar billede dr_chaos Nybegynder
07. april 2007 - 13:31 #6
np
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
Computerworld tilbyder specialiserede kurser i database-management

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