3

我对 Web 编程完全陌生,并被要求制作一个将托管在公司 Intranet 站点上的 Web 表单。该表单将用于将数据提交到后端数据库。

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

我的问题是,由于时间限制,我目前无法将此数据库更改为 SQL。在 Access 数据库中创建表单、报告等内容已经完成了很多工作,我现在没有时间在 .Net 中复制这些内容。

谁能给我一些建议,哪些是短期内构建 Intranet 数据输入表单的最佳方法。

我会在有时间的时候更新整个项目。

4

3 回答 3

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上的更多信息。

于 2012-06-25T11:17:54.417 回答
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>

Model-View-Controller是一种软件设计模式,指的是界面和逻辑的分离。

于 2012-06-25T11:19:41.893 回答
2

您仍然可以使用MVCwith MS Access。您可以使用OLEDBConnection该类,但是我建议您使用支持 Access 连接的 ORM,例如 NHibernate(下面概述的教程)。

以后您可以简单地将所有 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

于 2012-06-25T11:20:30.263 回答