从sql表中检索数据并显示在视图中

本文关键字:显示 视图 检索 sql 数据 | 更新日期: 2023-09-27 17:49:30

好的家伙,所以我新的MVC我已经构建模型和控制器插入数据到sql表,但现在我想检索这个数据到另一个视图。我的代码到目前为止:

所以我有一个名为"ProductTable"的sql表,其中有4个实体"ID"Name"Broi"answers"Cena"

CREATE TABLE [dbo].[ProductTable] (
    [ID]   INT        IDENTITY (1, 1) NOT NULL,
    [Name] NCHAR (10) NOT NULL,
    [Broi] INT        NOT NULL,
    [Cena] NCHAR (10) NOT NULL,
    PRIMARY KEY CLUSTERED ([ID] ASC)
);

,我已经在这个表中保存了一些数据

我有一个模型类

[Table("ProductTable")]
public class ProductTable
{
    //public int ID { get; set; }
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int ID { get; set; }
    public string Name { get; set; }
    public int Broi { get; set; }
    public int Cena { get; set; }
}

和DbContext

的另一个模型类
public class DefaultConnection : DbContext
{
    public DbSet<ProductTable> Products { get; set; }
}

控制器从视图中检索数据并将其传递给模型

public ActionResult Table()
{
    return View(new ProductTable());
}
[HttpPost]       
public ActionResult Table(ProductTable product)
{
    if (!ModelState.IsValid)
    {
        return View(product);
    }
    using (var contex = new DefaultConnection())
    {
        contex.Products.Add(product);
        contex.SaveChanges();
    }
    return View();
}

和一个带有TextBoxes和submit按钮的View到这个控制器但现在我想检索保存的数据,并将其显示到另一个视图。我已经尝试过了,但是我得到了一个错误:

ProductTable上的'Cena'属性不能设置为'String'值。您必须将此属性设置为类型为"Int32"的非空值

private DefaultConnection db = new DefaultConnection();
public ViewResult TableData()
{
    return View(db.Products.ToList());
}

从sql表中检索数据并显示在视图中

在数据库表中,列cenaNChar类型,列modeltype int类型

这应该是如何工作的

//Change this
public int Cena { get; set; }
//to this
public String Cena { get; set; }