public static void LoadReadFeed() { logger.Info("Получаем таблицу прочитанных пользователем новостей..."); if (NewsFeeds == null) { NewsFeeds = new List <NewsFeed> (); } string sql = "SELECT * FROM `read_news` WHERE user_id = @user_id"; DbCommand cmd = QSMain.ConnectionDB.CreateCommand(); cmd.CommandText = sql; DbParameter param = cmd.CreateParameter(); param.ParameterName = "@user_id"; param.Value = QSMain.User.Id; cmd.Parameters.Add(param); using (DbDataReader rdr = cmd.ExecuteReader()) { while (rdr.Read()) { NewsFeed feed = NewsFeeds.Find(f => f.Id == DBWorks.GetString(rdr, "feed_id", "")); if (feed != null) { feed.FirstRead = false; feed.DataBaseId = DBWorks.GetInt(rdr, "id", -1); string[] items = DBWorks.GetString(rdr, "items", "").Split(','); feed.ReadItems = new List <string> (items); } else { logger.Warn("В базе найден feed_id={0}, но в программе он не настроен.", DBWorks.GetString(rdr, "feed_id", "")); } } } logger.Info("Ok"); }
public void Fill(int id) { Itemid = id; NewItem = false; logger.Info("Запрос модели №{0}...", id); string sql = "SELECT models.*, marks.name as mark FROM models " + "LEFT JOIN marks ON marks.id = models.mark_id WHERE models.id = @id"; QSMain.CheckConnectionAlive(); try { MySqlCommand cmd = new MySqlCommand(sql, QSMain.connectionDB); cmd.Parameters.AddWithValue("@id", id); using (MySqlDataReader rdr = cmd.ExecuteReader()) { rdr.Read(); labelId.Text = rdr["id"].ToString(); entryName.Text = rdr["name"].ToString(); entryMark.Text = rdr["mark"].ToString(); Mark_id = DBWorks.GetInt(rdr, "mark_id", -1); logger.Info("Ok"); } this.Title = entryName.Text; } catch (Exception ex) { QSMain.ErrorMessageWithLog("Ошибка получения информации о модели!", logger, ex); this.Respond(Gtk.ResponseType.Reject); } TestCanSave(); }