sql-server - 为什么十进制数在我的数据库中始终为 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; }
解决方案
推荐阅读
- machine-learning - DNN二元分类器的准确率没有增加
- python - 在 Django 视图中显示表格和表单
- javascript - 为什么我的 JavaScript 事件会在任何输入上执行,而不是输入到 Chrome 中的正确字段?
- visual-studio-code - 如何在提交 VS Code 时停止自动格式化
- javascript - 如何在javascript中获取函数MULTIPLO.SUPERIOR的结果?
- webfocus - 如何在 Webfocus 中排除数据集中的某些组合模式?
- angular - 避免在状态更新时重新加载图像
- angular - Alfresco 与 Angular 7 的集成
- angular - Angular 7/ RxJs:轮询端点并响应第一个端点
- angular - Typescript / Angular7 不允许我更改变量值