private static void openConnection()
    {
        if (conn.State == ConnectionState.Closed)
        {
            conn.ConnectionString = ConfigurationManager.ConnectionStrings["pubdata"].ConnectionString + System.Web.HttpContext.Current.Server.MapPath("data/Test.mdb");
            comm.Connection = conn;
            try
            {
                conn.Open();
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
        }
    }
这是段打开数据库的方法 现在我想在另外一个文件夹里面调用它 关于路径的问题怎么解决 望大家指点

解决方案 »

  1.   

    你是要调用方法还是调用数据库呢
    如果是数据库的话你数据库连接字符串还是那样写没错
    如果是方法的话,直接     类.openConnection()来调用就可以了
      

  2.   

    1、使用全路径,比如 D:\....。
    2、给 openConnection 添加参数,表示数据库与当前调用的文件的路径关系。
    3、使用绝对路径,比如 Server.MapPath("/data/Test.mdb"),但这种方法不太适合于虚拟目录。
      

  3.   

    你的代码在哪个文件夹不重要,关键是应用程序与数据库的位置关系要体现在这里:data/Test.mdb
      

  4.   

        public DataTable ReadDataTable(string strSql)
        {
            DataTable dt = new DataTable();
            try
            {
                openConnection();
                OleDbDataAdapter da = new OleDbDataAdapter(strSql, conn);
                da.Fill(dt);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                closeConnection();
            }        return dt;
        }比如我调用openConnection();  这都在类库里面写的
    我如果在data文件夹同目录就可以直接调用ReadDataTable,假如我的页面在A文件夹下面的话,应该怎么做呢,直接调用就路径不行了
      

  5.   

    那你就直接
    项目名称.文件夹名字.类 claaA = new 项目名称.文件夹名字.类();
    claaA.DataTable(查询字符串);
      

  6.   

    ACCESS数据库
    配置文件是 <connectionStrings>
        <add name="pubdata" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="/>
      </connectionStrings>
      

  7.   

    条理先理清楚
    1:你的数据库放在哪边----完整的路径
    2:你的ReadDataTable放在哪个文件夹下的哪个程序里面(或者是哪个类--拿出类名)
    3:你指的"在不同文件夹下",指的是要在哪个文件夹下
    4:"我如果在data文件夹同目录就可以直接调用ReadDataTable,假如我的页面在A文件夹下面的话,应该怎么做呢,直接调用就路径不行了"
    你的意思是指要在A文件夹中的程序要去方法B文件夹下的ReadDataTable方法,还是B文件夹下的数据库你要把这些说清楚,别人才可以帮你啊,你的意思我都看不懂更何况别人
      

  8.   

    换了一种方法 
      <appSettings>
        <add key="SQLConnString" value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="/>
        <add key="dbPath" value="~/data/Test.mdb"/>
      </appSettings>修改了配置文件 这样就可以不用管在那个文件夹了
    TO zzyhuian06142 你回答很热心 非常感谢  我表达能力不是很好  提问要强加表达了 呵呵