Zuerst überhaupt, ich weiß Fragen wie diese sind doppelt ABER, bitte achten Sie auf diese erwarten. Hier ist Code meine C#, hinter dem der Fehler als erhöhen:Prozedur oder Funktion 'x' erwartet Parameter '@y', der nicht mitgeliefert wurde. Fehler bei C#?
Prozedur oder Funktion ‚aaa‘ erwartet Parameter ‚@bbb‘, die nicht geliefert wurde.
if (Dt.Rows.Count > 0)
{
Cmd = new SqlCommand();
Cmd.CommandText = ("[dbo].[aaa]");
Cmd.CommandType = CommandType.StoredProcedure;
Cmd.Parameters.Add("@bbb", SqlDbType.Int).Value = 1;
Cmd.Parameters.Add("@LettType", SqlDbType.VarChar, 3).Value = LetterType;
Cmd.Parameters.Add("@IsTajamo", SqlDbType.Char, 1).Value = 1;
Da = new SqlDataAdapter(Cmd.CommandText, Con);
Dt.Clear();
/*Line72:*/
Da.Fill(Dt);
}
Technisch kann ich nicht gefunden, wo der Fehler ist. Ich habe alle Parameter bestanden. Und wenn ich meine gespeicherte Prozedur separat in MS-SQL ausführen, funktioniert es mit diesen Werten.
Können Sie Experten bitte helfen Sie mir zu diesem Thema? Achtung: hier wird Stored Proc:
ALTER PROCEDURE [dbo].[aaa] (@bbb Int , @LettType CHAR(3) , @IsTajamo CHAR(1))
AS
BEGIN
select 1
END
Achtung: (kann dies helfen kann, hier ist mein Stack-Trace):
bei System.Data.SqlClient.SqlConnection.OnError (SqlException Ausnahme, Boolean Breakconnection, Aktion
1 wrapCloseInAction) at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action
1 wrapCloseInAction) bei System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning (TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) bei System.Data.SqlClient.TdsParser.TryRun (RunBehavior runB ehavior, SqlCommand CmdHandler, SqlDataReader Datenstrom, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean & Dataready) bei System.Data.SqlClient.SqlDataReader.TryConsumeMetaData() bei System.Data.SqlClient.SqlDataReader.get_MetaData() bei -System .Data.SqlClient.SqlCommand.FinishExecuteReader (SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean IsInternal, Boolean forDescribeParameterEncryption) bei System.Data.SqlClient.SqlCommand.RunExecuteReaderTds (CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean asynchron, Int32-Zeitüberschreitung, Aufgabe & Aufgabe, Boolean AsyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest) bei System.Data.SqlClient.SqlCommand.RunExecuteReader (CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String Methode, TaskCompletionSource`1 Abschluss, Int32 Timeout, Aufgabe & Aufgabe, Boolean & usedCache, Boolean AsyncWrite, Boolean inRetry) bei System.Data.SqlClient.SqlCommand.RunExecuteReader (CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String -Methode) bei System.Data.SqlClient.SqlCommand .ExecuteReader (CommandBehavior Beha vior, String-Methode) bei System.Data.SqlClient.SqlCommand.ExecuteDbDataReader (CommandBehavior Verhalten) bei System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader (CommandBehavior Verhalten) bei System.Data.Common. DbDataAdapter.FillInternal (DataSet Datensatz, DataTable [] -Datentabellen, Int32 startRecord, Int32 maxRecords, Zeichenfolge srcTable, IDbCommand-Befehl, CommandBehavior-Verhalten) um System.Data.Common.DbDataAdapter.Fill (Datatable [] DataTables- Int32 startrecord, Int32 maxRecords, IDbCommand Befehl, CommandBehavior Verhalten) bei System.Data.Common.DbDataAdapter.Fill (Datatable Datatable) bei WebService.Services.GetLettersList (String username, String Passwort ein, String Codename, String letter) in D: \ Amiri \ WebService \ WebService \ Services.asmx.cs: Linie 79
@Satpal Es gibt kein Problem mit der Prozedur. wenn Sie die Frage vor dem Markieren nur richtig gelesen haben. Du kannst verstehen, sagte ich. Prozedur funktioniert ordnungsgemäß. – AminAmiriDarban
Ich habe die Frage gelesen und bin noch nicht markiert. Aber für mich scheint Problem Snippet für die Auflösung – Satpal
@ نرخیاب hilfreich sein: Streiten mit denen, die versuchen, Ihnen zu helfen, ist ein guter Weg, um diese Hilfe wegzugehen. Das heißt, der häufigste Grund für diesen Fehler in meiner Erfahrung ist die falsche Schreibweise des Parameternamens. Überprüfe deine Rechtschreibung. –