首页 > 解决方案 > 为什么十进制数在我的数据库中始终为 0?

问题描述

这是我的问题:我有一个 ASP.NET MVC 应用程序,我有一个书单(isbn、作者、标题、价格、照片和摘要),我创建了一个表单,以便能够在我的列表。

它已添加到我的数据库中,并出现在我的列表(我的视图)中,但是当我添加带有十进制数字的价格时,它总是在我的数据库和视图中显示 0。

例如,如果我编写25.50代码打印0.

如何让它以十进制显示正确的价格?

这是我添加到我的控制器的方法

[HttpPost]
public IActionResult Ajouter(Livre livre)
{
    //ajouter un client dans la table Clients de la base de données
    this._context.InsertLivre(livre);

    //Sélectionner tout les livres de la table Livres de la base de données  et les afficher dans la vue
    return View("Liste", this._context.SelectLivres());
}

这是我插入书的方法

public void InsertLivre(Livre livre)
{
    using (SqlConnection con = new SqlConnection(this.ConnectionString))
    {
        // requete pour ajouter un client dans la table client
        string sqlStr = "INSERT INTO Livres(Isbn, Auteur, Titre, Prix, Quantite, Photo, Resume) " +
               "VALUES (@isbn, @auteur, @titre, @prix, @quantite, @photo, @resume)";

        SqlCommand cmd = new SqlCommand(sqlStr, con);
        cmd.CommandType = CommandType.Text;

        // ouverture de la connexion
        con.Open();

        // donner les valeurs a parametre
        cmd.Parameters.AddWithValue("isbn", livre.Isbn);
        cmd.Parameters.AddWithValue("auteur", livre.Auteur);
        cmd.Parameters.AddWithValue("titre", livre.Titre);
        cmd.Parameters.AddWithValue("prix", livre.Prix);
        cmd.Parameters.AddWithValue("quantite", livre.Quantite);
        cmd.Parameters.AddWithValue("photo", livre.Photo);
        cmd.Parameters.AddWithValue("resume", livre.Resume);

        // exécuter la requete
        cmd.ExecuteNonQuery();

        // fermeture de la connextion
        con.Close();
    }
}

//这是我的课文

 public class Livre
{
    [DisplayName("Isbn :")]
    [Required(ErrorMessage = "Le champ Isbn est obligatoire", AllowEmptyStrings = false)]
    [RegularExpression("^[0-9A-Za-z]{1,13}$", ErrorMessage = "Le champ \"Isbn\" doit être composé de lettre et de chiffre seulement")]
    public string Isbn { get; set; }

    [DisplayName("Auteur :")]
    [Required(ErrorMessage = "Le champ auteur est obligatoire", AllowEmptyStrings = false)]
    [RegularExpression("^[A-Z][A-Za-zéè ]{3,29}$", ErrorMessage = "Le champ Auteur doit contenir seulement des lettres et commencer par une majuscule")]
    public string Auteur { get; set; }

    [DisplayName("Titre :")]
    [Required(ErrorMessage = "Le titre est obligatoire", AllowEmptyStrings = false)]
    [RegularExpression("^[A-Z][a-zéè]{4,100}$", ErrorMessage = "Le champ titre doit contenir seulement des lettres et commencer par une majuscule")]
    public string Titre { get; set; }

    [DisplayName("Prix :")]
    [Required(ErrorMessage = "Le prix est obligatoire", AllowEmptyStrings = false)]
    public double Prix { get; set; }

    [DisplayName("Quantité:")]
    [Required(ErrorMessage = "Le champ quantité est obligatoire", AllowEmptyStrings = false)]
    [RegularExpression("^[0-9]{1,4}$", ErrorMessage = "Le champ \"Quantité\" doit être numérique seulement")]
    public int Quantite { get; set; }

    [DisplayName("Photo :")]
    [Required(ErrorMessage = "Ce champ est obligatoire", AllowEmptyStrings = false)]
    public string Photo { get; set; }

    [DisplayName("Résumé:")]
    [Required(ErrorMessage = "Ce champ est obligatoire", AllowEmptyStrings = false)]
    public string Resume { get; set; }

标签: sql-serverasp.net-mvc

解决方案


推荐阅读