Hallo Claudius, 

hier der Code, wo gerundet wird und keine Dezimalstellen herauskommen, 

die SP:

 CREATE PROCEDURE GetProductDetail 
(
        @ProductID int,
        @ModelNumber nvarchar(256) OUTPUT,
        @ModelName nvarchar(256) OUTPUT,
        @ImagesURL nvarchar(256) OUTPUT,
        @Preis decimal (19, 2) OUTPUT,
        @DescriptionShort nvarchar(1024) OUTPUT,
        @DescriptionLong nvarchar(3800) OUTPUT
)
 AS
SELECT
        @ProductID = ProductID,
        @ModelNumber = ModelNumber,
        @ModelName = ModelName,
        @ImagesURL = ImagesURL,
        @Preis = Preis,
        @DescriptionShort = DescriptionShort,
        @DescriptionLong = DescriptionLong
FROM
        Products
WHERE
        ProductID = @ProductID

GO

Und hier .NET:
...
// Create Instance of Connection an Command Object
SqlConnection myConnection = 
        new SqlConnection(this.myConnectionString);
SqlCommand myCommand = 
        new SqlCommand("GetProductDetail", myConnection);
// Mark the Command as a stored procedure
myCommand.CommandType = CommandType.StoredProcedure;
// Add Parameters to the stored procedure
myCommand.Parameters.Add("@ProductID", SqlDbType.Int).Value = productID;

// Output Parameters >> hier k�nnte der Fehler irgendwo stecken
SqlParameter parameterPreis = new SqlParameter("@Preis", SqlDbType.Decimal);
parameterPreis.Direction = ParameterDirection.Output;
myCommand.Parameters.Add(parameterPreis);

...
// Open the Connection and execute the Command
myConnection.Open();
myCommand.ExecuteNonQuery();
myConnection.Close();   
...
// Create und Pupulate ProductDetails Struct using Output Params
// from the stored procedure
clsProductDetails myProduktDetails = new clsProductDetails();

// oder hier k�nnte der Fehler irgendwo stecken
if (parameterPreis.Value != System.DBNull.Value)
    myProduktDetails.Preis = (decimal)parameterPreis.Value;
else
    myProduktDetails.Preis = (decimal)0.00;
...
return myProduktDetails;


Ich probiere selbst nat�rlich auch weiterhin. Falls Du auf "den ersten
Blick" den Fehler siehst, vielen Dank f�r den Hinweis im Voraus, 

viele Gr��e

Bernhard


-----Urspr�ngliche Nachricht-----
Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im
Auftrag von Claudius Ceteras
Gesendet: Freitag, 3. September 2004 15:58
An: [EMAIL PROTECTED]
Betreff: RE: [Asp.net] Dezimalstellen bei Wert aus der Datenbank

> Wenn ich die Datenbank mit "Select * from ..." abfrage, und das 
> Ergebnis einem SqlDataReader �bergebe, erhalte ich korrekt 54,50 
> angezeigt.
> Wenn ich �ber eine gespeicherte Prozedur und Output-Parmeter gehe, 
> kommt aus der selben Tabelle 55 zur�ck.

Welchen typ hat der output-Parameter in der SP? Ist der Typ auch beim Aufruf
richtig angegeben?

Zeig mal dein Code - SP und .NET


Claudius

_______________________________________________
Asp.net Mailingliste, Postings senden an:
[EMAIL PROTECTED]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net



_______________________________________________
Asp.net Mailingliste, Postings senden an:
[EMAIL PROTECTED]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net

Antwort per Email an