c# - MVC - 字符串或二进制数据将被截断。\r\n语句已终止

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

我明白这个错误意味着我试图插入一个大于我在数据库中允许的值,但我看不到是哪个值导致了问题

这是我插入数据的地方:

UserActivity log = new UserActivity();

ApplicationDbContext db = new ApplicationDbContext();

log.UserEmail = User.Identity.Name;
log.SQL_Query = queryString;
log.Query_Start = String.Format("{0:hh:mm:ss}", start);
log.Query_End = String.Format("{0:hh:mm:ss}", end);
log.Query_Time = String.Format("{0:mm:ss.ff}", Duration.ToString());                   

db.UserActivities.Add(log);

db.SaveChanges();

这是数据库表定义:

CREATE TABLE [dbo].[UserActivities] (
    [Id]            INT            NOT NULL,
    [UserEmail]     VARCHAR (255)  NOT NULL,
    [SQL_Query ]    VARCHAR (1000) NOT NULL,
    [Query_Start]   VARCHAR (11)   NULL,
    [Query_End]     VARCHAR (11)   NULL,
    [Query_Time]    VARCHAR (11)   NULL,
    [Error_Message] VARCHAR (255)  NULL,
    PRIMARY KEY CLUSTERED ([Id] ASC)
);

在调试器中,我使用 length 命令查看我传入的值的长度,这是我的结果:

        log.UserEmail.Length;
        21
        log.Query_End.Length;
        8
        log.Query_Start.Length;
        8
        log.SQL_Query.Length;
        32

这是将要输入的数据样本 enter image description here

这是 UserActivity 类

public class UserActivity
{
    [Key]
    public int Id { get; set; }
    public string UserEmail { get; set; }
    public string SQL_Query { get; set; }
    public string Query_Start { get; set; }
    public string Query_End { get; set; }
    public string Query_Time { get; set; }
    public string Error_Message { get; set; }
}

最佳答案

这里的问题是持续时间的格式,我假设这是一个 TimeSpan 对象。如果您的持续时间为 3 分钟 45 秒 210 毫秒,则使用您目前获得的内容,您的 Query_Time 变量将设置为:00:03:45.210000。

您将希望使用以下内容代替当前的 String.Format:

log.Query_Time = Duration.ToString("mm\\:ss\\.ff");

这会给你一个类似 03:45.21 的输出,我想这就是你的目标。

关于c# - MVC - 字符串或二进制数据将被截断。\r\n语句已终止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37548030/

相关文章:

c# - c#中数值递增的问题

asp.net - 是什么导致带有 ¿ 字符的文本字段损坏?

asp.net - 扩展成员(member) API、MembershipUser

c# - 实例化通过发出 GET 请求收到的值

jquery mobile多页面MVC 4

c# - Linq to Sql 支持我的字符串查询,但不支持属性。我能做到吗?

c# - SqlDependency.OnChange 触发但 SqlDataReader 未返回数据

c# - 如何在用户注册期间生成 OWIN 不记名 token

asp.net-mvc - 当参数为模型时,ASP.NET MVC 发布文件模型绑定(bind)

c# - Linq-To-JSON 查询以在分层 JSON 结构中查找特定属性的 sibling