Hallo Leute,
ich habe einen kleinen Kalender in ASP.NET gebastelt:
In diesem Kalender können mehrere Tage markiert werden: Urlaub ganzer Tag, Urlaub halber Tag, krank.
Die markierten Tage werden in ein Dictionary des Types
Ich möchte nach einem ButtonClick alle Inhalte des Dictionarys in eine MySQL Datenbank schreiben.
Dies geht im Prinzip auch schon:
Allerdings wird, wie man sieht, bei jedem Durchgang durch das Dictionarys eine Insert-Query gefeuert.
Dies möchte ich nicht!
Wie macht man es denn geschickter, das das komplette Dictionary in einem Rutsch in die Datenbank wandert?
Also das die Query mit ExecuteNonQuery() nur einmal schreiben muss.
LG
ich habe einen kleinen Kalender in ASP.NET gebastelt:
In diesem Kalender können mehrere Tage markiert werden: Urlaub ganzer Tag, Urlaub halber Tag, krank.
Die markierten Tage werden in ein Dictionary des Types
Dictionary<DateTime, Int32>
gespeichert. Key ist das Datum, Value ist ein Integer, der den Typ angibt (Urlaub ganzer Tag, Urlaub halber Tag, krank).Ich möchte nach einem ButtonClick alle Inhalte des Dictionarys in eine MySQL Datenbank schreiben.
Dies geht im Prinzip auch schon:
C#-Quellcode
- string constr = "meinConnectionString";
- using (MySqlConnection con = new MySqlConnection(constr))
- {
- using (MySqlCommand cmd = new MySqlCommand("INSERT INTO tbl_urlaub (Tag,Typ) values (?Tag,?Typ);"))
- {
- foreach (KeyValuePair<DateTime, Int32> dic in meinDictionary)
- {
- cmd.Parameters.AddWithValue("?Tag", dic.Key);
- cmd.Parameters.AddWithValue("?Typ", dic.Value);
- cmd.Connection = con;
- con.Open();
- cmd.ExecuteNonQuery();
- con.Close();
- cmd.Parameters.Clear();
- }
- }
- }
Allerdings wird, wie man sieht, bei jedem Durchgang durch das Dictionarys eine Insert-Query gefeuert.
Dies möchte ich nicht!
Wie macht man es denn geschickter, das das komplette Dictionary in einem Rutsch in die Datenbank wandert?
Also das die Query mit ExecuteNonQuery() nur einmal schreiben muss.
LG