我使用Access数据库,Access文件放在程序所在的目录
string str = "provider=Microsoft.Jet.OLEDB.4.0 ;Data Source=" + Server.MapPath("学生档案.mdb") + "";不是说的使用Server.MapPath获取相对路劲吗?但是在程序中报错:当前上下文不存在Server
该怎么处理呢?

解决方案 »

  1.   

    报什么错,这个是web asp.net开发才有的,winform 没有
      

  2.   

    web程序采用这个,winform可以使用Application.ExecutablePath等
      

  3.   

    winform:
     Application.StartupPath + "\\学生档案.mdb";webform:
    System.Web.HttpContext.Current.Server.MapPath("学生档案.mdb");   
      

  4.   

    Server命名空间System.Web.HttpContext下
    如果是Winfrom,可以通过得到程序的运行路径Application.StartupPath 然后找到库所在的具体路径,拼接
      

  5.   

    Environment.CurrentDirectory + "\\学生档案.mdb"
      

  6.   

    WinForm里直接用
    string str = "provider=Microsoft.Jet.OLEDB.4.0 ;Data Source=|DataDirectory|学生档案.mdb";|DataDirectory|代表exe的启动目录,你把access文件放在exe一起就行了。
      

  7.   

    只要在当前目录,可以什么都不写,直接写文件名即可。string str = "provider=Microsoft.Jet.OLEDB.4.0 ;Data Source="学生档案.mdb";