internal void saveSentences(List <AnalyzedSentence> sentences) { try { Console.WriteLine("Connecting to MySQL..."); conn.Open(); string sql = ""; foreach (AnalyzedSentence sent in sentences) { int sentid = -1; sentid = readWordOrSentence("lauseet", sent.Content); if (sentid == -1) // not found { sql = String.Format("INSERT INTO lauseet (lause, päälause) VALUES ('{0}','{1}')", sent.Content, sent.IsMain); MySqlCommand cmd1 = new MySqlCommand(sql, conn); cmd1.ExecuteNonQuery(); // kysy tämän sentencen id } sentid = readWordOrSentence("lauseet", sent.Content); List <string> words = TextAnalyzer.AnalyzeWords(sent); int len = words.Count; for (int i = 0; i < len; i++) { int wordid = -1; // if not already in table wordid = readWordOrSentence("sanalista", words[i]); if (wordid == -1) { sql = String.Format("INSERT INTO sanalista (sana_alkup) VALUES ('{0}')", words[i]); MySqlCommand cmd1 = new MySqlCommand(sql, conn); cmd1.ExecuteNonQuery(); } // kysy tämän sanan id wordid = readWordOrSentence("sanalista", words[i]); Console.WriteLine(words[i] + ":" + wordid); // table matches words to sentences //wordid = readWordOrSentence("sana_lause", words[i]); sql = String.Format("INSERT INTO sana_lause (sana,lause,järjestys_alusta,järjestys_lopusta)" + " VALUES ({0},{1},{2},{3})", wordid, sentid, i + 1, len - i); try { MySqlCommand cmd = new MySqlCommand(sql, conn); cmd.ExecuteNonQuery(); } catch (InvalidOperationException ex) { Console.WriteLine(ex.Message); } catch (MySqlException ex) { Console.WriteLine(ex.ToString()); } } } } catch (InvalidOperationException ex) { Console.WriteLine(ex.Message); } catch (MySqlException ex) { foreach (AnalyzedSentence sent in sentences) { Console.WriteLine(sent); } Console.WriteLine(ex.ToString()); } conn.Close(); }