Hallo kann mir vielleicht jemand helfen ?
mein Problem ist ich will einen kleinen updater für die mysql datenbank wo die daten von einer api nimmt.
Da sind 6 Spiel modes die ich brauche solo,soloFPP,duo,duoFPP,Squad und SquadFPP
es funktioniert alles nur das Problem ist wenn der Spieler ZB kein duoFPP gespielt hat bekomme ich eine Ausnahme: "System.NullReferenceException: "Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.""
und die anderen daten werden nicht abgespeichert und das Programm stoppt.
was kann ich da machen?
mein Problem ist ich will einen kleinen updater für die mysql datenbank wo die daten von einer api nimmt.
Da sind 6 Spiel modes die ich brauche solo,soloFPP,duo,duoFPP,Squad und SquadFPP
es funktioniert alles nur das Problem ist wenn der Spieler ZB kein duoFPP gespielt hat bekomme ich eine Ausnahme: "System.NullReferenceException: "Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.""
und die anderen daten werden nicht abgespeichert und das Programm stoppt.
was kann ich da machen?
C-Quellcode
- public static void Main(string[] args) => new Program().MainAsync().GetAwaiter().GetResult();
- private async Task MainAsync()
- {
- // Create client and send a stats request You can either use the "using" keyword or
- // dispose the PUBGStatsClient manually with the Dispose method.
- using (var statsClient = new PUBGStatsClient("API-KEY"))
- {
- var stats = await statsClient.GetPlayerStatsAsync("DeniD", Region.AGG).ConfigureAwait(false);
- // Print out player name and date the stats were last updated at.
- Console.WriteLine($"Name: {stats.PlayerName}");
- try
- {
- var Solo = stats.Stats.Find(x => x.Mode == Mode.Solo && x.Region == Region.AGG && x.Season == Seasons.EASeason5).Stats.Find(x => x.Stat == Stats.KDR).Value;
- Console.WriteLine($"Solo KDR: {Solo}");
- var Duo = stats.Stats.Find(x => x.Mode == Mode.Duo && x.Region == Region.AGG && x.Season == Seasons.EASeason5).Stats.Find(x => x.Stat == Stats.KDR).Value;
- Console.WriteLine($"Duo KDR: {Duo}");
- var Squad = stats.Stats.Find(x => x.Mode == Mode.Squad && x.Region == Region.AGG && x.Season == Seasons.EASeason5).Stats.Find(x => x.Stat == Stats.KDR).Value;
- Console.WriteLine($"Squad KDR: {Squad}");
- var DuoFFP = stats.Stats.Find(x => x.Mode == Mode.DuoFpp && x.Region == Region.AGG && x.Season == Seasons.EASeason5).Stats.Find(x => x.Stat == Stats.KDR).Value;
- Console.WriteLine($"DuoFFP KDR: {DuoFFP}");
- //System.NullReferenceException: "Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt."
- var SquadFFP = stats.Stats.Find(x => x.Mode == Mode.SquadFpp && x.Region == Region.AGG && x.Season == Seasons.EASeason5).Stats.Find(x => x.Stat == Stats.KDR).Value;
- Console.WriteLine($"SquadFFP KDR: {SquadFFP}");
- var SoloFFP = stats.Stats.Find(x => x.Mode == Mode.SoloFpp && x.Region == Region.AGG && x.Season == Seasons.EASeason5).Stats.Find(x => x.Stat == Stats.KDR).Value;
- Console.WriteLine($"SoloFFP KDR: {SoloFFP}");
- {
- string constring = $"SERVER={server};DATABASE={database};UID={uid};PASSWORD={password};";
- string Query1 = "UPDATE denid213.TS3 SET Solo =@Solo,Duo =@Duo,Squad =@Squad,SoloFFP =@SoloFFP,DuoFFP =@DuoFFP,SquadFFP =@SquadFFP WHERE DBID =1";
- MySqlConnection conDatabase = new MySqlConnection(constring);
- conDatabase.Open();
- MySqlCommand cmd1 = new MySqlCommand(Query1, conDatabase);
- cmd1.Parameters.AddWithValue(@"Solo", Solo);
- cmd1.Parameters.AddWithValue("@Duo", Duo);
- cmd1.Parameters.AddWithValue("@Squad", Squad);
- cmd1.Parameters.AddWithValue(@"SoloFFP", SoloFFP);
- cmd1.Parameters.AddWithValue("@DuoFFP", DuoFFP);
- cmd1.Parameters.AddWithValue("@SquadFFP", SquadFFP);
- cmd1.ExecuteNonQuery();
- conDatabase.Close();
- }
- }
- catch (PUBGSharpException ex)
- {
- Console.WriteLine($"Could not retrieve stats for {stats.PlayerName}, error: {ex.Message}");
- }
- }
- await Task.Delay(-1);
- }
- }
- }
Quellcode
- System.NullReferenceException ist aufgetreten.
- HResult=0x80004003
- Nachricht = Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
- Quelle = ConsoleApplication3
- Stapelüberwachung:
- bei PUBGSharp.Examples.Program.<MainAsync>d__6.MoveNext() in C:\Users\DeniD\Documents\Visual Studio 2015\Projects\ConsoleApplication3\ConsoleApplication3\Program.cs: Zeile72
- bei System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
- bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
- bei System.Runtime.CompilerServices.TaskAwaiter.GetResult()
- bei PUBGSharp.Examples.Program.Main(String[] args) in C:\Users\DeniD\Documents\Visual Studio 2015\Projects\ConsoleApplication3\ConsoleApplication3\Program.cs: Zeile31