在一个类里写一个access链接语句connectionstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("access.mdb");
一般页面的cs里是可以的
不过在一个cs类中这样不会找到Server
在cs类中应该怎样写?

解决方案 »

  1.   

    access是放在网站的根目录里的,只要写相对路径就可以?怎样写?
      

  2.   

    最好放在配置文件里public class Conn
    {public static GetConnString()
    {
    return "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("access.mdb"); 
    }
    }
    用的时候调用string connString=Conn.GetConnString();就行了
      

  3.   

    这样不行的,找不到Server我是在App_Code文件夹里写的这个链接方法的
      

  4.   

    不好意思帮不了你。
    你可以放配置文件里面试试。我webform不熟
      

  5.   

    因为要用现成的网站,原来是用sqlserver的,在app_code中写的链接语句
    现在只能用access,用时却不知怎样链接,在web.config改动太多了
      

  6.   

    嗯,这个问题我碰到过,正常的APSX页面可以直接用server,但是CS文件里是不能这样用的,原因是必须写全名,你把server改成HttpContext.Current.Server然后应该就没问题了,有问题再找我!
      

  7.   

    可以放到APP_DATA里面嘛~
    然后在连接字符串里面加个
    connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\xxxx.mdb"
    就行了
      

  8.   

     HttpContext.Current.Server.MapPath("/")要引用System.Web.dll
      

  9.   

    System.Configuration.ConfigurationManager.ConnectionStrings["OleDbConn"].ConnectionString;<connectionStrings>
    <add name="OleDbConn" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=e:\winner1023\Web\App_Data\winner.mdb" providerName="System.Data.OleDb"/>
    </connectionStrings>
      

  10.   

    System.Web.HttpContext.Current.Server.MapPath
      

  11.   

    如果你从Page类继承的类中执行这条语句,才可以简单地使用 
    DataBase = Server.MapPath("data.mdb"); 
    否则写全命名空间:System.Web.HttpContext.Current.Server.MapPath(); 注意:如果是在一个类库下的一个类中、要先添加引入using System.Web;因为新建一个类库时默认是不引入using System.Web的!