与 Access 的 asp.net 数据库连接

Posted

技术标签:

【中文标题】与 Access 的 asp.net 数据库连接【英文标题】:asp.net database connection with Access 【发布时间】:2012-03-29 10:34:11 【问题描述】:

我想为一个带有 asp.net 的学校项目创建一个带有 Access 数据库的登录页面。我没有真正的 C# 经验,所以我在做不同的教程。

protected void Login1_Click(object sender, EventArgs e)

    string connect = "Provider=Microsoft.Jet.OleDb.4.0;Data Source=http://tmti-16.ict-lab.nl/database/ek2012.mdb";
    string query = "Select Count(*) From users Where username = ? And userpassword = ?";
    int result = 0;
    using (OleDbConnection conn = new OleDbConnection(connect))
    
        using (OleDbCommand cmd = new OleDbCommand(query, conn))
        
            cmd.Parameters.AddWithValue("", UserName.Text);
            cmd.Parameters.AddWithValue("", Password.Text);
            conn.Open();
            Session["User"] = UserName.Text;
            result = (int)cmd.ExecuteScalar();
        
    
    if (result > 0)
    
        Response.Redirect("index.aspx");
    
    else
    
        Literal1.Text = "Invalid credentials";
    

在 Access 中,我有一个表“用户”,其中包含“用户名”和“用户密码”行。

【问题讨论】:

您的问题是什么?你也应该在你的问题中添加 homework 标签 好吧,我无法与它建立联系。我收到以下错误: 说明:在执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。 您的连接字符串应该引用 mdb 文件的本地路径。如果是asp.net项目,可以把你的access数据库mdb文件放到App_Data文件夹,你的连接字符串数据源部分变成Data Source=|DataDirectory|ek2012.mdb; 是的,它的工作!感谢您的帮助。现在练习更多的 c# 并展望未来的 MVC 3 开发。我仍然在考虑先学习 php 或 C# :-) 嗨@Dash 有没有机会将其发布为答案? 【参考方案1】:

您遇到的问题几乎肯定与您的连接字符串的数据源段有关:

string connect = "Provider=Microsoft.Jet.OleDb.4.0;Data Source=http://tmti-16.ict-lab.nl/database/ek2012.mdb"

Access mdb 文件应位于本地路径上。这可以是本地文件系统上运行 Web 应用程序的帐户有权访问的任何位置,但有用的是,ASP.Net 实际上有一个更好的位置来放置这些文件,App_Data folder。

如果您将 mdb 文件放在此文件夹中,您的连接字符串将变为:

string connect = "Provider=Microsoft.Jet.OleDb.4.0;Data Source=|DataDirectory|ek2012.mdb"

App_Data 文件夹的内容不会提供给客户端,因此这是放置数据的安全位置。使用它也是一个好主意,因为它将数据保存在项目中;通常,人们会将与数据相关的文件放在 web 根目录之外的文件系统文件夹中,这意味着在将站点移动到另一台计算机时必须记住这种依赖关系。

您在访问 App_Data 中的文件时可能遇到的一个常见问题通常与权限有关;您正在运行代码的用户需要在此目录中具有读写权限才能修改 mdb 文件。这在"Configuring Permissions for an Access Database" in this MSDN Article 部分中有介绍。

【讨论】:

以上是关于与 Access 的 asp.net 数据库连接的主要内容,如果未能解决你的问题,请参考以下文章

Asp.net_连接Access数据库

ASP.net Visual Web Developer - 使用 SQL 连接 Access 数据库

连接到 MS Access 的 Mono 和 ASP.NET Web 应用程序

是啥限制了我的 ASP.NET 应用程序可以与 Web 服务建立的同时连接数?

如何使用 ASP.Net 数据源通过 ODBC DSN 连接到 Access 数据库?

求ASP.NET中访问ACCESS数据库的代码