c# - ASP.NET MVC 将语句插入数据库错误 : Column name or number of supplied values does not match table definition

标签 c# sql asp.net asp.net-mvc debugging

我在 ASP.NET MVC 中创建博客,在向帖子添加评论时,在尝试将 INSERT 插入我的数据库时出现此错误:

Column name or number of supplied values does not match table definition.

当异常发生时,我也检查了对象中的值,但是每个参数都填充了与模型类中定义的相同的数据类型。

我检查了我的模型类和数据库结构,但找不到问题。

public class Comment
{
    public int Id { get; set; }
    public int PostId { get; set; }
    public string Description { get; set; }
    public string UserId { get; set; }
    public DateTime Timestamp { get; set; }
}

这是我的数据库表:

感谢任何帮助!

谢谢!

最佳答案

更改您的 SQL 语句 以包含列名:

INSERT INTO Comment 
(PostId, Description, TimeStamp, UserId)
VALUES 
(@PostId, @Description, @TimeStamp, @UserId)

在您的 C# 代码中:

command.CommandText = @"INSERT INTO Comment (PostId, Description, TimeStamp, UserId)
                        VALUES 
                        (@PostId, @Description, @TimeStamp, @UserId)";

关于c# - ASP.NET MVC 将语句插入数据库错误 : Column name or number of supplied values does not match table definition,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34495374/

相关文章:

c# - 在 Wpf 和 WinForms 上使用 StreamSocket

c# - 使用C#中的蓝牙在2台计算机上的2个应用程序之间创建基本文件传输

c# - 在 WPF 中更改自定义复选框上的图像

Mysql IN 子句与自动递增 ID 的范围

mysql - MYSQL中如何获取身份证?

asp.net - 为什么这违反了类型约束?

javascript - Javascript json 中的反斜杠与正斜杠

asp.net - 为什么不能通过 IIS7 中的 web.config 删除 "Server"响应 header ?

c# - 拆分xml文件并保留父节点信息

mysql - 可以在 MySQL 中不使用定界符创建过程吗?