static bool Check(string varos_nev, Datastruct new_adatok) { int cities_id = varos_nevek.IndexOf(varos_nev) + 1; string queryDate = CDateToSqlDate(new_adatok.date); query = "select date from data where date = '" + queryDate + "' AND cities_id = " + cities_id + ""; MySqlCommand commandDatabase = new MySqlCommand(query, databaseConnection); // ez maga a lekérdezés Objektum try { if (databaseConnection.State != ConnectionState.Open) { databaseConnection.Open(); //checkol hogy nyitva van-e } } catch (Exception) { MessageBox.Show("Az adatbázis nem sikerült elérni. Valószínüleg bezáródott az XAMPP, kérem indítsa újra a programot és az XAMPP-t"); Application.Exit(); } try { /* if (reader.HasRows) // HasRows : visszatérési érték bool , ha nem nulla akkor 1 vagy annál nagyobb érték * { * return false; * }*/ var result = commandDatabase.ExecuteScalar(); // egy értékkel tér vissza vagy null-al if (result == null) { return(false); } } catch (Exception e) { MessageBox.Show("Hiba a Check voidba :" + e.Message); databaseConnection.Close(); } databaseConnection.Close(); return(true); //van-e változás } //ez ellenőrzi le hogy van-e valami új az új futattás során az adatbázis beli értékekhez képest
/// <summary> /// 構造体をデータテーブルにセットする /// Commitするまでは実際のプロセスメモリには書き込まれません /// </summary> /// <param name="n">血統番号</param> /// <param name="data">血統データ</param> public void SetData( UInt32 n, ref Datastruct.HBloodData data ) { base.Write( n, data.Decode() ); }
/// <summary> /// データテーブルからレコード読み取って構造体にして返す /// </summary> /// <param name="n">血統番号</param> /// <param name="data">血統データ</param> public void GetData( UInt32 n, ref Datastruct.HBloodData data ) { base.GetDatastruct< Datastruct.HBloodData >( n, ref data ); }
/// <summary> /// 構造体をデータテーブルにセットする /// Commitするまでは実際のプロセスメモリには書き込まれません /// </summary> /// <param name="n">所有幼駒番号</param> /// <param name="data">所有幼駒データ</param> public void SetData( UInt32 n, ref Datastruct.HOwnershipChildData data ) { base.Write( n, data.Decode() ); }
/// <summary> /// データテーブルからレコード読み取って構造体にして返す /// </summary> /// <param name="n">所有幼駒番号</param> /// <param name="data">所有幼駒データ</param> public void GetData( UInt32 n, ref Datastruct.HOwnershipChildData data ) { base.GetDatastruct< Datastruct.HOwnershipChildData >( n, ref data ); }
/// <summary> /// 構造体をデータテーブルにセットする /// Commitするまでは実際のプロセスメモリには書き込まれません /// </summary> /// <param name="n">系統番号</param> /// <param name="data">系統データ</param> public void SetData( UInt32 n, ref Datastruct.HFamilyLineData data ) { base.Write( n, data.Decode() ); }
/// <summary> /// データテーブルからレコード読み取って構造体にして返す /// </summary> /// <param name="n">系統番号</param> /// <param name="data">系統データ</param> public void GetData( UInt32 n, ref Datastruct.HFamilyLineData data ) { base.GetDatastruct< Datastruct.HFamilyLineData >( n, ref data ); }
/// <summary> /// データテーブルからレコード読み取って構造体にして返す /// </summary> /// <param name="n">レース番号</param> /// <param name="data">レースデータ</param> public void GetData( UInt32 n, ref Datastruct.RRaceData data ) { base.GetDatastruct< Datastruct.RRaceData >( n, ref data ); }
static Datastruct[] ConvertInnerTextToList(string cities_link = "http://www.idokep.hu/30napos/Budapest") //alap érték ha kap értéket felül írja { string varos_nev = Varos_nev(cities_link); Datastruct[] sdata = new Datastruct[30]; //ebben tárolja az adatokat int db = 0, incasedb = 0; HtmlWeb web = new HtmlWeb(); HtmlAgilityPack.HtmlDocument doc = web.Load(cities_link);; var list = new List <string>(doc.DocumentNode.SelectNodes("//body/div/div/div/div/div").Select(div => div.InnerText)); //az oszlopok div tartalma stringet ad vissza string combinedString = String.Join(",", list.ToArray()).Trim().Replace("\n\n", "").Replace("\t", ""); // ez lehet nem kéne //string join a diveket vesszővel elválasztja így egyszerűbb a kezelésű // String.Join első érteke mivel fűzze össze a második hogy MIT List <string> data = new List <string>(combinedString.Split(',')); // egy nap egy lista elem data.RemoveRange(30, data.Count - 30); //honnan , mennyit // 30 nap adatai for (int i = 0; i < data.Count; i++) { List <string> just = new List <string>(data[i].Split('\n')); //ez egy nap !!!! for (int j = 0; j < just.Count; j++) //vizsgálat, hogy hány soros az országos átlag zavaró -> kivesz { if (just[j] != "" && just[j] != "(országos átlag)") { db++; } } //// if (db == 11) //első eset amikor 2 weathertype van { db = 0; for (int k = 0; k < just.Count; k++) { if (just[k] != "") { incasedb++; //hányadik olyan sor ami tartalmaz valamit if (incasedb == 3) { sdata[i].date = Convert.ToDateTime(just[k]); } else if (incasedb == 4) { sdata[i].weathertype = just[k]; //időjárás típus -> lehet több érték is pl. esős/ködös } else if (incasedb == 5) { sdata[i].weathertype = " " + just[k]; } else if (incasedb == 6) { sdata[i].max_temperature = Convert.ToSByte(just[k]); } else if (incasedb == 9) { sdata[i].min_temperature = Convert.ToSByte(just[k]); incasedb = 0; break; } } } } else if (db == 15) { // db = 0; for (int k = 0; k < just.Count; k++) { if (just[k] != "") { incasedb++; //hányadik olyan sor ami tartalmaz valamit if (incasedb == 3) { sdata[i].date = Convert.ToDateTime(just[k]); } else if (incasedb == 4) { sdata[i].weathertype = just[k]; //időjárás típus -> lehet több érték is pl. esős/ködös } else if (incasedb == 7) { sdata[i].max_temperature = Convert.ToSByte(just[k]); } else if (incasedb == 10) { sdata[i].min_temperature = Convert.ToSByte(just[k]); incasedb = 0; break; } } } } else if (db == 17) { //második eset amikor van eső db = 0; for (int k = 0; k < just.Count; k++) { if (just[k] != "" && just[k] != "(országos átlag)") { incasedb++; if (incasedb == 3) { sdata[i].date = Convert.ToDateTime(just[k]); } else if (incasedb == 4) { sdata[i].weathertype = just[k]; //időjárás típus -> lehet több érték is pl. esős/ködös } else if (incasedb == 5) { string[] rain_temporary = just[k].Split(' '); sdata[i].rain = Convert.ToSByte(rain_temporary[1]); } else if (incasedb == 6) { string[] temp_rain = just[k].Split(); temp_rain[1] = temp_rain[1].Remove(2); // -> % jel levág sdata[i].rain_probability = Convert.ToSByte(temp_rain[1]); } else if (incasedb == 8) { sdata[i].max_temperature = Convert.ToSByte(just[k]); } else if (incasedb == 11) { sdata[i].min_temperature = Convert.ToSByte(just[k]); incasedb = 0; break; } } } } else if (db == 10) //szimpla eset 1 weathertype és nincs csapadék { db = 0; for (int k = 0; k < just.Count; k++) { if (just[k] != "") { incasedb++; if (incasedb == 3) { sdata[i].date = Convert.ToDateTime(just[k]); } else if (incasedb == 4) { sdata[i].weathertype = just[k]; //időjárás típus -> lehet több érték is pl. esős/ködös } else if (incasedb == 5) { sdata[i].max_temperature = Convert.ToSByte(just[k]); } else if (incasedb == 8) { sdata[i].min_temperature = Convert.ToSByte(just[k]); incasedb = 0; break; } } } } else if (db == 19) //2 db országos átlag { db = 0; for (int k = 0; k < just.Count; k++) { if (just[k] != "" && just[k] != "(országos átlag)") { incasedb++; if (incasedb == 3) { sdata[i].date = Convert.ToDateTime(just[k]); } else if (incasedb == 4) { sdata[i].weathertype = just[k]; //időjárás típus -> lehet több érték is pl. esős/ködös } else if (incasedb == 5) { string[] rain_temporary = just[k].Split(' '); sdata[i].rain = Convert.ToSByte(rain_temporary[1]); } else if (incasedb == 6) { string[] temp_rain = just[k].Split(); temp_rain[1] = temp_rain[1].Remove(2); // -> % jel levág sdata[i].rain_probability = Convert.ToSByte(temp_rain[1]); } else if (incasedb == 9) { sdata[i].max_temperature = Convert.ToSByte(just[k]); } else if (incasedb == 12) { sdata[i].min_temperature = Convert.ToSByte(just[k]); incasedb = 0; break; } } } } else { db = 0; sdata[i].date = Convert.ToDateTime("2000. 01. 03"); //"dddd, dd MMMM yyyy // Friday, 29 May 2015 sdata[i].weathertype = "Derült"; sdata[i].min_temperature = -100; sdata[i].max_temperature = 100; } } return(sdata); }