使用ASP.NET MVC和Access的Intranet表单

时间:2012-06-25 11:13:24

标签: c# asp.net ms-access intranet

我是Web编程的新手,并且被要求制作一个将在公司Intranet网站上托管的网络表单。该表单将用于将数据提交到后端数据库。

我的问题是数据库是使用MS Access 2007开发的。虽然我想使用ASP.NET MVC 3但我不确定我是否可以将MS Access用作后端数据库。大多数示例我似乎都发现所有与SQL Server(数据上下文)挂钩,我理解这是最好的方法。

我的问题是由于时间限制,我目前无法将此数据库更改为SQL。在Access数据库中创建诸如表单,报表等之类的工作已经做了很多工作,我现在还没有时间在.Net中复制。

任何人都可以给我一些建议,以便在短期内建立内联网数据输入表格的最佳方法。

我希望在时间可用时将整个项目更新。

3 个答案:

答案 0 :(得分:2)

// C#
public void ConnectToAccess()
{
    System.Data.OleDb.OleDbConnection conn = new 
        System.Data.OleDb.OleDbConnection();
    // TODO: Modify the connection string and include any
    // additional required properties for your database.
    conn.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;" +
        @"Data source= C:\Documents and Settings\username\" +
        @"My Documents\AccessFile.mdb";
    try
    {
        conn.Open();
        // Insert code to process data.
    }
        catch (Exception ex)
    {
        MessageBox.Show("Failed to connect to data source");
    }
    finally
    {
        conn.Close();
    }
}

MSDN的更多信息。

答案 1 :(得分:2)

您应该只需将Access连接字符串添加到web.config文件中,然后使用该数据库。

<connectionStrings>
    <add name="MyConn" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|name_of_db.accdb;" providerName="System.Data.OleDb" />
</connectionStrings>

模型 - 视图 - 控制器是一种软件设计模式,指的是接口和逻辑的分离。

答案 2 :(得分:2)

您仍然可以将MVCMS Access一起使用。您可以使用OLEDBConnection类,但我建议您使用ORM,例如NHibernate,它支持Access连接(下面介绍的教程)。

稍后您可以简单地将所有NHibernate映射映射到SQL Server并切换连接字符串,该字符串将指向新的SQL Server数据库,而不是MS Access

将MS Access链接到NHibernate:

http://www.thoughtproject.com/Snippets/NHibernateWithAccess/

通过OLEDB连接到MS Access:

http://msdn.microsoft.com/en-us/library/5ybdbtte(v=vs.71).aspx