请教,我在按照示例做网站时,需要上传至服务器,在web.config中,写了<appSettings>
<add key="ConnectionString" value="Provider=Microsoft.jet.oledb.4.0;data source=" />
<add key="ConnDbPath" value="caiyuan\db\shop.mdb;" />
</appSettings>后调用
 ConnStr = ConfigurationSettings.AppSettings("ConnectionString") & Server.MapPath(ConfigurationSettings.AppSettings("ConnDbPath"))
这样在同一目录下没有问题了,
但是在下级文件目录下,用此调用不行了,老是提示数据库路径出错问题。请问怎么改?

解决方案 »

  1.   

    <appSettings>
    <add key="ConnectionString" value="Provider=Microsoft.jet.oledb.4.0;data source=D;\caiyuan\db\shop.mdb;"  />
    </appSettings>
      

  2.   

    这是我写的一个类,自己看吧
    using System;
    using System.Data;
    using System.Data.OleDb ;
    using System.Web.Services;
    using System.Configuration;
    namespace FishNet.Components{
    /// <summary>
    /// Database 的摘要说明。
    /// </summary>
    /// 
    public class Database:System.Web.Services.WebService
    {   public void OpenDB(ref OleDbConnection Conn)
    {
    if (Conn== null)
    {
    string strConnect; 
    strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("..\\MyData\\BabyFish.mdb");
    Conn = new OleDbConnection(strConnect);
    Conn.Open();
    }
    else
    {
    if (Conn.State ==ConnectionState.Open)
    Conn.Close();
    }
    }
    }
    }
      

  3.   

    使用绝对路径
    以根开头如:/caiyuan/db/shop.mdb
      

  4.   

    在程序中用如下连接串:connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+System.Web.HttpContext.Current.Server.MapPath("*.asp");
      

  5.   

    不要用绝对路径,把文件添加到项目里!用绝对路径是坏习惯,要杜绝,尤其是Web应用。