gpt4 book ai didi

asp.net-mvc - 通过编程导入 Ms Access 数据

转载 作者:行者123 更新时间:2023-12-03 21:09:29 25 4
gpt4 key购买 nike

我正在寻找一种从 ms 访问导入数据并将其绑定(bind)到 MVC 模式的任何模型的好方法

这是我们正在考虑遵循的方法

方法1:

  • 打开 Ms Access 文件
  • 打开数据库
  • 打开所有表
  • 导入所有表的数据并绑定(bind)到模型
  • 关闭所有表格
  • 关闭数据库
  • 关闭文件

  • 方法2:
  • 在 Asp.Net MVC 中连接 Ms Access 数据库
  • 打开数据库
  • 通过查询
  • 获取数据并将其绑定(bind)到模型
  • 关闭数据库

  • 哪种方法更好,我该如何实现?

    更新:
    我已经实现了方法 2,它的工作正常,有谁知道如何实现方法 1

    最佳答案

    这两种方法都需要您连接到数据库并将内容映射到模型中。我假设方法 1 是“当网络应用程序开始连接并将所有数据库内容复制到内存中并从那里访问”而方法 2 是“当我需要显示一些数据时,连接数据库并复制特定内容到我的模型'。

    如果是这种情况,那么建议使用方法 2(并且您已经声明您已经这样做了,所以一切都很好)。

    方法 1 可能适用于较小的数据库,但是:

  • 你失去了数据库提供的所有 [acid][1]-y 优点
  • 你被全局集合变量困住了——这不是网络应用程序中最受欢迎的概念
  • 您在内存中不必要地拥有整个数据库。您的网络应用程序的慢点通常是网络,与您的 html 到达浏览器所需的时间相比,在需要时加载数据的几毫秒是微不足道的

  • 如果您要尝试方法一种(不推荐,不要这样做,每次运行此代码时都会伤害小猫),那么最简单的方法是在 global.asax.cs 文件中包含类似的内容:
    public class MvcApplication : System.Web.HttpApplication {

    public static List<MyTable1> globalTable1;
    public static List<MyTable2> globalTable2;

    protected void Application_Start() {
    AreaRegistration.RegisterAllAreas();
    WebApiConfig.Register(GlobalConfiguration.Configuration);
    FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
    RouteConfig.RegisterRoutes(RouteTable.Routes);
    BundleConfig.RegisterBundles(BundleTable.Bundles);

    var DatabaseMagic = new DatabaseAccessClass("a:\path\to\database.mdb");
    globalTable1 = DatabaseMagic.getDataForTableOne(); //However you do your loading and mapping
    globalTable2 = DatabaseMagic.getDataForTableTwo(); //ditto
    }

    然后在您的 Controller 中:
        public ActionResult Index()
    {
    return View(MvcApplication.globalTable1);
    }

    而你的观点:
    @model List<MvcApplication1.MvcApplication.MyTable1>
    @{
    ViewBag.Title = "Index";
    }
    <h2>Blah</h2>
    <ul>
    @foreach (var i in Model) {
    <li>@i.idField - @i.contentField </li>
    }
    </ul>

    (我有没有提到不要这样做?)

    关于asp.net-mvc - 通过编程导入 Ms Access 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16944541/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com