Ejemplo n.º 1
0
        public override bool Save()
        {
            string sql;

            if (NewItem)
            {
                sql = "INSERT INTO models (name, mark_id) " +
                      "VALUES (@name, @mark_id)";
            }
            else
            {
                sql = "UPDATE models SET name = @name, mark_id = @mark_id WHERE id = @id";
            }
            logger.Info("Запись модели...");
            QSMain.CheckConnectionAlive();
            try
            {
                MySqlCommand cmd = new MySqlCommand(sql, QSMain.connectionDB);

                cmd.Parameters.AddWithValue("@id", Itemid);
                cmd.Parameters.AddWithValue("@name", entryName.Text);
                cmd.Parameters.AddWithValue("@mark_id", DBWorks.ValueOrNull(Mark_id > 0, Mark_id));

                cmd.ExecuteNonQuery();
                logger.Info("Ok");
                return(true);
            }
            catch (Exception ex)
            {
                QSMain.ErrorMessageWithLog("Ошибка записи модели!", logger, ex);
            }
            return(false);
        }
Ejemplo n.º 2
0
        public void SaveToDB(MySqlTransaction trans)
        {
            if (usedTable.Fields.Count < 1)
            {
                return;
            }

            logger.Info("Сохраняем данные настраиваемых полей для id={0}", id);
            DBWorks.SQLHelper sql = new DBWorks.SQLHelper("UPDATE {0} SET ", usedTable.DBName);
            foreach (CFFieldInfo field in usedTable.Fields)
            {
                sql.AddAsList(String.Format("{0} = @{0}", field.ColumnName));
            }
            ;
            sql.Add(" WHERE id = @id ");
            try
            {
                MySqlCommand cmd = new MySqlCommand(sql.Text, (MySqlConnection)QSMain.ConnectionDB, trans);
                cmd.Parameters.AddWithValue("@id", id);
                foreach (CFFieldInfo field in usedTable.Fields)
                {
                    switch (field.FieldType)
                    {
                    case FieldTypes.TString:
                        Entry stringWid = (Entry)FieldWidgets[field.ID];
                        cmd.Parameters.AddWithValue(field.ColumnName, DBWorks.ValueOrNull(stringWid.Text != "", stringWid.Text));
                        break;

                    case FieldTypes.TCurrency:
                        SpinButton moneyWid = (SpinButton)FieldWidgets[field.ID];
                        cmd.Parameters.AddWithValue(field.ColumnName, moneyWid.Value);
                        break;
                    }
                }
                cmd.ExecuteNonQuery();
                logger.Info("Записано.");
            }catch (Exception ex)
            {
                string mes = "Ошибка чтения данных для настраиваемых полей!";
                logger.Error(ex, mes);
                throw new ApplicationException(mes, ex);
            }
        }