Hallo Leute
folgende Stored Procedure habe ich in MS SQL Server 2005 erstellt:
Der Aufruf der Procedure in SQL ist erfolgreich.
Leider funktioniert der Aufruf in C# nicht. Ich erhalte folgende Exception:
"String[1]: die Size-Eigenschaft hat den ungültigen Wert 0."
Folgende C#-Methode:
Ich hoffe, Ihr könnt mir schnell helfen. Danke.
folgende Stored Procedure habe ich in MS SQL Server 2005 erstellt:
Code:
USE [BUILD_SKILL]
GO
/****** Objekt: StoredProcedure [dbo].[stp_CommitPasswort] Skriptdatum: 07/28/2009 14:08:52 ******/
ALTER PROCEDURE [dbo].[stp_CommitPasswort]
-- Parameter deklarieren
@vorname_Nachname NVARCHAR(100),
@pw NVARCHAR(MAX) OUTPUT
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 @pw = Passwort
FROM dbo.Person
WHERE Vorname_Nachname = @vorname_Nachname
END
Der Aufruf der Procedure in SQL ist erfolgreich.
Leider funktioniert der Aufruf in C# nicht. Ich erhalte folgende Exception:
"String[1]: die Size-Eigenschaft hat den ungültigen Wert 0."
Folgende C#-Methode:
Code:
public void CommitEncryptPasswort(string vornameName)
{
// Ausnahmebehandlung
try
{
// SQLCommand erstellen und STP zuweisen
SqlCommand cmdStp = new SqlCommand("stp_CommitPasswort", con);
// CommandType zuweisen
cmdStp.CommandType = CommandType.StoredProcedure;
// SQLParameter für STP erstellen
SqlParameter parVorNachname = new SqlParameter("@vorname_Nachname", vornameName);
SqlParameter parOutPasswort = new SqlParameter("@pw", SqlDbType.NVarChar);
// SQLDbType für INPUT-Parameter zuweisen
parVorNachname.SqlDbType = SqlDbType.NVarChar;
// Parameter zuweisen und INPUT und OUTPUT festlegen
cmdStp.Parameters.Add(parVorNachname).Direction = ParameterDirection.Input;
cmdStp.Parameters.Add(parOutPasswort).Direction = ParameterDirection.Output;
// STP ausführen
cmdStp.ExecuteNonQuery();
// Ermiitelten Wert zuweisen
Passwort = cmdStp.Parameters["@pw"].Value.ToString();
}
catch (SqlException sqlError)
{
// Methode "CreateSqlException()" aufrufen
CreateSqlException(sqlError);
}
finally
{
// Methode "Close_Connection()" aufrufen
Close_Connection();
}
}
Ich hoffe, Ihr könnt mir schnell helfen. Danke.