私は私のコードでは、以下の方法で得た:それは手順が「@returnMsg」と呼ばれるパラメータを必要とし、私がする必要があるということを私に言って失敗した私のプロシージャはパラメータを期待していますが、すでに提供していますか?
cmd.ExecuteNonQuery();
:ここでは、この行で
/// <summary>
/// Used to add a new log entry in the database.
/// </summary>
/// <param name="logId">The ID of the log</param>
/// <param name="severityLevel">The Severity Level of the Entry</param>
/// <param name="entry">The Entry text</param>
/// <returns>A message depending on success or failure to add the message.</returns>
public static String AddNewLogEntry(int logId, int severityLevel, String entry)
{
String returnMsg = "";
using (SqlConnection conn = GetConnection())
{
using (SqlCommand cmd = new SqlCommand())
{
cmd.CommandText = "AddLogEntry";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Connection = conn;
cmd.Parameters.AddWithValue("@logId", logId);
cmd.Parameters.AddWithValue("@severityLevel", severityLevel);
cmd.Parameters.AddWithValue("@entry", entry);
SqlParameter returnParam = cmd.Parameters.AddWithValue("@returnMsg", SqlDbType.VarChar);
returnParam.Direction = ParameterDirection.ReturnValue;
conn.Open();
cmd.ExecuteNonQuery();
returnMsg = (String)returnParam.Value;
if (!returnMsg.Contains("Log ID") || !returnMsg.Contains("Severity Level"))
{
String[] parameters = returnMsg.Split('¤');
returnMsg = parameters[0];
int entryId = Int32.Parse(parameters[1]);
Utility.ReportIncident(logId, severityLevel, entry, entryId);
}
}
}
return returnMsg;
}
をそれをメソッドに渡します。ただし、ここに表示されているとおり:
SqlParameter returnParam = cmd.Parameters.AddWithValue("@returnMsg", SqlDbType.VarChar);
returnParam.Direction = ParameterDirection.ReturnValue;
私はすでにそれを行っています。だから問題は何になるのだろうか?
EDIT
GarethDが私に戻って取得していないので、私はIF/ELSEブランチに何が起こるかに応じて、数を返し、その後、それに応じて行動するために、一時的な解決策と一緒に行きました。
「AddLogEntry」のパラメータリストとは何ですか?コールシグネチャの早い方のパラメータが欠けている可能性があります。最初に 'returnMsg'が欠けています。 –
2番目の引数を値にするべきではありませんか? –
私はあなたが 'AddWithValue'を使用して、その値を' SqlDbType.VarChar'に設定したかったとは思いません。とにかく 'AddWithValue'の使用を止めたいかもしれませんが、[this](http://blogs.msmvps.com/jcoehoorn/blog/2014/05/12/can-we-stop-using-addwithvalue-already/)を読んでください – juharr