Wenn ich versuche, diese Funktion auszuführen, bekomme ich den Fehler "System.InvalidCastException: Angegebene Cast ist nicht gültig."C# REQUEST HANDLER-FEHLER System.InvalidCastException: Angegebener Cast ist nicht gültig
System.InvalidCastException: Specified cast is not valid.
at server.mihail.credits.HandleRequest() in F:\Users\Mihail\Documents\new-sentients-2016\server\mihail\credits.cs:line 34
at server.RequestHandler.HandleRequest(HttpListenerContext context) in F:\Users\Mihail\Documents\new-sentients-2016\server\RequestHandlers.cs:line 37
at server.Program.ProcessRequest(HttpListenerContext context) in F:\Users\Mihail\Documents\new-sentients-2016\server\Program.cs:line 156
Dies ist die Funktion: Ich versuche es guid als meine E-Mail-Adresse und Parameter-Hilfe mit der Nummer eins in es mit Parametern auszuführen.
Bitte helfen Sie mir, ich habe den ganzen Tag versucht, es zu beheben.
class credits : RequestHandler
{
protected override void HandleRequest()
{
string status = "403";
using (Database db = new Database())
{
NameValueCollection query = HttpUtility.ParseQueryString(Context.Request.Url.Query);
MySqlCommand cmd = db.CreateQuery();
cmd.CommandText = "SELECT id FROM accounts WHERE [email protected]";
cmd.Parameters.AddWithValue("@uuid", query["guid"]);
object id = cmd.ExecuteScalar();
if (id != null)
{
int amount = int.Parse(query["aid"]);
cmd = db.CreateQuery();
cmd.CommandText = "UPDATE stats SET credits = credits + @amount WHERE [email protected]";
cmd.Parameters.AddWithValue("@accId", (int) id);
cmd.Parameters.AddWithValue("@amount", amount);
int result = cmd.ExecuteNonQuery();
if (result > 0)
status = "400";
else
status = "500";
}
else
status = "404";
}
byte[] res = Encoding.UTF8.GetBytes(
status);
Context.Response.OutputStream.Write(res, 0, res.Length);
}
}
In welcher Zeile wirft es die Ausnahme? Ich werde sie nicht zählen :) – SledgeHammer
@LaneL Sie können, wenn es in der Tat eine boxed int ist. Es macht keinen Sinn zu erraten, um welches Problem es sich handelt, wenn das OP sich nicht die Mühe machen kann, uns zu sagen, welche Zeile die Ausnahme auslöst. – Jakotheshadows