我在web.config里是这样写的
 <add name="AccessConn" connectionString="Provider=Microsoft.Jet.OleDB.4.0;Data Source=~/App_Data/area.mdb" providerName="System.Data.OleDB"></add>   protected void Page_Load(object sender, EventArgs e)
    {
        string connString = System.Configuration.ConfigurationSettings.AppSettings["AccessConn"];        //string connString = "Provider=Microsoft.Jet.OleDB.4.0;Data Source=" + Server.MapPath("~/App_Data/area.mdb");
        OleDbConnection conn = new OleDbConnection(connString);
        OleDbCommand comm = new OleDbCommand("select area from area", conn);
        conn.Open();
        OleDbDataReader dr = comm.ExecuteReader();
        if (dr.Read())
        {
            Response.Write(dr["area"].ToString());
        }
}
不是写在web.config里是可以 请问一下 应该怎么写?

解决方案 »

  1.   

    web.config
    ....
    <configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
    <connectionStrings>
    <add name="ConnString" connectionString="\\App_Data\\db.mdb" providerName="System.Data.OleDB"/>
    </connectionStrings> static string  strp = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=";
     protected static string connectionString =strp+System.Web.HttpContext.Current.Server.MapPath("~")+ConfigurationManager.ConnectionStrings["ConnString"].ConnectionString;
      

  2.   

    <configuration>
      <appSettings>
        <add key="AccessConn" value="你的connString"/>
      

  3.   

    如果是.NET 2.0的,用2楼的可以
      

  4.   

    但我估计楼主不是2.0的,因为
    ConfigurationSettings.AppSettings在2.0中是已过时的属性
      

  5.   

    web.config  <add name="AccessConn" connectionString="Provider=Microsoft.Jet.OleDB.4.0;Data Source=\\App_Data\\area.mdb" providerName="System.Data.OleDB"></add>---------------
        protected void Page_Load(object sender, EventArgs e)
        {
            string connString = System.Configuration.ConfigurationManager.AppSettings["AccessConn"];
        
            OleDbConnection conn = new OleDbConnection(connString);
            OleDbCommand comm = new OleDbCommand("select area from area", conn);
            conn.Open();
            OleDbDataReader dr = comm.ExecuteReader();        if (dr.Read())
            {
                Response.Write(dr["area"].ToString());
            }
             }我改了 怎么还是不行!
      

  6.   

    <add name="AccessConn" connectionString="Provider=Microsoft.Jet.OleDB.4.0;Data Source=\\App_Data\\area.mdb" providerName="System.Data.OleDB"></add> string connString = System.Configuration.ConfigurationManager.AppSettings["AccessConn"];-------------------------------------
    定义的connectionstring 节点,调用的却是appsettings节点?
    <appSettings>
        <add key="AccessConn" value="你的connString"/>
    </appSettings>
     string connString = System.Configuration.ConfigurationManager.AppSettings["AccessConn"];
      

  7.   

    設置:
    <?xml version="1.0" encoding="utf-8"?>
    <configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
        <connectionStrings>
            <add name="AccessConn" connectionString="Provider=Microsoft.Jet.OleDB.4.0;Data Source=~/App_Data/area.mdb" providerName="System.Data.OleDB"></add>
        </connectionStrings>
        <system.web>
            
        </system.web>
    </configuration> 讀取:
    string strConn=System.Configuration.ConfigurationManager.ConnectionStrings[0].ConnectionString;
      

  8.   

    不好意思,還是
     string connString = System.Configuration.ConfigurationManager.AppSettings["AccessConn"];好些,System.Configuration.ConfigurationManager.ConnectionStrings[0].ConnectionString;不一定就是上面設置的connectionString
      

  9.   

    Access的连接串建议在Web.Config里只写地址.如果要写整个串,请使用本地硬盘的绝对路径如Provider=Microsoft.Jet.OleDB.4.0;Data Source=C:\WEB\App_Data\area.mdb
    而不是
    Provider=Microsoft.Jet.OleDB.4.0;Data Source=~/App_Data/area.mdb
    建议只写地址
    <add name="AccessPath" Value="~/App_Data/area.mdb"></add>
    读取时用:
    string connString = "Provider=Microsoft.Jet.OleDB.4.0;Data Source=" + Server.MapPath(ConfigurationSettings.AppSettings["AccessPath"]);
    另外,你上面的web.config中是2005里的ConnectionString配置节写法, 代码是用2003的读取方法,应该是这里的问题,你用的是05还是03?