C#连接Acess数据库 
  我自己添加了一个类   数据库连接语句如下
  string connstr  = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " ← 这个后面好象只能写绝对路径,如果要用相对路径应该怎么写呢???  自己添加的类里面好象既不能用Server.MapPath() 也不能用Application.StartupPath 
  请各位看下...

解决方案 »

  1.   

    public  OleDbConnection myConn=new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=.\\Beta1.mdb"); 
    看看这个吧 对你应该有帮助吧
      

  2.   

    还是不行呃~~
      我的数据库是放在项目 的DB文件夹下的 没有向网上说的一样放在Bin下面而且系统为什么默认会到
    'C:\WINDOWS\system32\'这个文件夹下面去找...以前开发都是用VS2003+SQL 现在第一次用ACESS 真的是很费解...
      

  3.   

    在引用里添加:
    using System.IO;在类里写:
    //exePath取到你执行文件(exe文件)的根目录
               string exePath = Path.GetDirectoryName(Application.ExecutablePath).ToString();
               string connstr  =  "Provider=Microsoft.Jet.OLEDB.4.0"
                                       //+ ";User ID=Admin "
                                       //+ ";password="
                                       + ";Data Source=" + exePath + @"\XXXX.mdb";
      

  4.   

    你把可执行文件和Access数据库放到一个目录下才好用呢
      

  5.   

    pinglan() 这位大哥的方法你可以试一试 应该可以
      

  6.   

    这是个WEB项目 没有EXE文件啊
      

  7.   

    pingLan的是可以的     
          string exePath = Path.GetDirectoryName(Application.ExecutablePath).ToString();
          string connstr  =  "Provider=Microsoft.Jet.OLEDB.4.0"
                                 + ";Data Source=" + exePath + @"\XXXX.mdb";
      

  8.   

    而且系统说我没有Application(是否缺少 using 指令或程序集引用?)
    Application 需要引用什么命名空间???
      

  9.   

    我是在自己添加的一个类里面
    目前引用的命名空间有 System;
     System.IO;
     System.Data;
     System.Data.OleDb;
      

  10.   

    你主要是不能引用Server.MapPath() 的问题把,查下MSDN,找到Server.MapPath()的命名空间,
    好象是HttpServerUtility,你需要在
    using System.Web.HttpServerUtility;
    好象是这个,现在在单位,没有机器用,回家的时候给你查一下,楼主在VS中试试看,
      

  11.   

    asp.net/c#连接access测试源码 [蓝风 发表于 2006-8-19 8:19:11] 
     
    采用代码后置技术
    前台页面conn.aspx
    <%@ Page language="c#" src="/conn.cs" AutoEventWireup="false" Inherits="lyg.db" Debug="true"%>
    <%=con()%>
    cs.conn源码
    using System;
    using System.Data;
    using System.Data.OleDb;
     
    namespace lyg
    {
      public class db:System.Web.UI.Page
      {    public String con() 
        {
            string strCon =@"Provider=Microsoft.Jet.OLEDB.4.0; Data source=" + Server.MapPath("这里是数据库文件路径");
        OleDbConnection myConn = new OleDbConnection ( strCon ) ;
        try
        {
          // 打开数据库连接
          myConn.Open();      // 显示连接成功信息
          return ("Access数据库连接状态:" + myConn.State);
        }
        catch (Exception ex)
        {
          // 如果出现异常,显示异常信息
          return ("Access数据库连接状态:" + ex.ToString());
        }
        finally
        {
          // 关闭数据库连接
          myConn.Close();
        }
          
              }
      }
     
     
    ============================================
    这是别人的语句, Server.MapPath()  不用另外引用吧, System.Web 下就有
      

  12.   

    问题解决   原来我没有把我的类继承System.Web.UI.Page类 所以Server.MapPath()不能用
    十分感谢PingLan的源码
    分不多 只能送上这么多了
     同样十分感谢 bjgzxx(食人一族) 和 wslinfeng(林风)