将数据添加到数据库asp.net中

时间:2014-07-01 03:42:15

标签: c# asp.net entity-framework

我想将数据添加到数据库中,我收到此错误。

  

EntityFramework.SqlServer.dll中发生了'System.Data.Entity.Core.EntityException'类型的异常,但未在用户代码中处理

     

其他信息:在提供程序连接上启动事务时发生错误。有关详细信息,请参阅内部异常。

这是我的代码。

public void alarmlog(int id)
{
         AlarmLog log = new AlarmLog();

         if (id == 1)
         {
             log.SectorID = "LRD";
             log.LineNo = "L01";
             log.WorkStation = "02";
             log.LMQS = 1;
             log.StaffID = 6;
             log.DateTime = DateTime.Now;
         }

         db.AlarmLogs.Add(log);
         db.SaveChanges();
}

1 个答案:

答案 0 :(得分:0)

我有预感,您的错误位于if(id==1)声明中。我的猜测是,你传入一个不是1的id。创建一个新的Alarmlog,if语句不返回true,然后你尝试将空Item添加到数据库中。 如果所有这些字段(即使是那个字段)可能不为null,则会抛出异常。

删除你的if-block并查看错误是否已消失:

public void alarmlog(int id)
{
     AlarmLog log = new AlarmLog();

     log.SectorID = "LRD";
     log.LineNo = "L01";
     log.WorkStation = "02";
     log.LMQS = 1;
     log.StaffID = 6;
     log.DateTime = DateTime.Now;
     db.AlarmLogs.Add(log);
     db.SaveChanges();
}

如果您希望我们停止猜测,请执行评论者所说的内容:将代码包装在try { ... } catch(Exception ex) { ... }块中以查看错误是什么。