在将数据保存到数据库之前从哪里保存数据?

时间:2014-11-11 15:13:34

标签: asp.net-mvc asp.net-mvc-3 asp.net-mvc-4 asp.net-mvc-5 exceldatareader

我的应用程序出了问题。使用表单,用户可以选择一个excel文件来填充数据库中的某些表。我在保存之前验证数据并向表中显示一些验证消息。我还提供了来自excel的全部数据。这是我的问题:

  1. 在将数据保存到db之前保存数据的位置?假设用户没有看到验证消息。他单击SaveData按钮。我们采取了一些行动,但我们的文件中没有数据。我们无法从数据库中提取数据,因为它也不存在。我们在第一个操作中访问了数据,但现在我们处于第二个操作中。
  2. 有很多验证消息,我想使用分页。这是同样的问题 - 用户单击NextPage按钮,我们进入操作。我们没有excel中的任何数据。
  3. 我应该在ViewBag中保存数据吗? ajax可以帮助我吗?我忘了一件事 - 我可以在excel文件中有很多行(1000+)。我使用gridmvc来呈现数据。
  4. 感谢您的帮助。


    更新: 如果验证失败,用户无法使用excel文件中的任何数据来填充数据库。他必须手动更正excel文件中的数据,然后再次尝试使用它。

2 个答案:

答案 0 :(得分:0)

如果我在哪里 - 我会将excel上传到服务器,验证它和

  1. 如果验证失败 - 将验证日志作为文本文件返回给用户。

  2. 如果验证成功 - 将文件上传到db而无需额外的确认。

  3. 在任何情况下,用户都无法修复网格中的错误,因此在加载有效的Excel之前,无法访问保存按钮。

    在某些情况下,您可以向用户返回添加了验证列的Excel。但我不确定这对用户来说会更有用。

答案 1 :(得分:0)

我建议你, 将文件加载到服务器。 读取excel文件的行和列并将其加载到数据集中。 将新列添加到数据集中作为错误,现在验证数据集中的每一行,如果您发现该行的任何错误,然后将其推入该错误列并将该标志设置为true。

遍历所有行后,如果该标志为true,则返回用户界面上的数据集或返回为excel。

如果没有错误,则可以将excel保存到db。

希望这有帮助。