我把访问数据库的数据库ip地址写在Global里面,发现如果修改IP地址的话,如果用C#写的代码就必须要重新编译一次才会有效果,而VB.net不会。我现在用的是C#,如何才能简单的不需要编译,从文件中直接读取一些配置信息?怎么样做是比较标准的做法。我每个页面都会有访问到数据库,数据库是同一个,怎么样做是比较标准的只建立一个数据库连接的方法?而不是在每个页面里面建立连接。

解决方案 »

  1.   

    放到web.config里
      <appSettings>
      <add key="conn" value="server='(local)'; user id='sa'; password='mypass'; database='pubs'" />
      </appSettings>调用
    string connstr = ConfigurationSettings.AppSettings["MConn"];
      

  2.   

    写错了
    调用是
    string connstr = ConfigurationSettings.AppSettings["conn"];
      

  3.   

    <!--  使用<AppSettings></AppSettings>标记中来存储数据库连接字符串
          读取方法:ConfigurationSettings.AppSettings("SQLConnectionString")
    --><?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <appSettings>
        <add key="SQLConnectionString" value="server=localhost;uid=sa;pwd=jvhmr;database=pay_file" />
       </appSettings>
      <system.web>
      </system.web>
    </configuration>
      

  4.   

    web.config:
      <appSettings>
      <add key="strConn" value="server='(local)'; user id='sa'; password='mypass'; database='pubs'" />
      </appSettings>调用:
    string connstr = ConfigurationSettings.AppSettings["strConn"];
    SqlConnection conn=new SqlConnection(connstr);
      

  5.   

    楼上几位说的对
    将你的配置放在web.config文件中
    按照楼上几位的方法,肯定能行,我们都这么做
      

  6.   

    放到web.config里
      <appSettings>
      <add key="DBConnString" value="server='(local)'; user id='sa'; password='mypass'; database='pubs'" />
      </appSettings>调用
    string connstr = (string)ConfigurationSettings.AppSettings["DBConnString"];
      

  7.   

    <appSettings>
      <add key="connstr" value="server='(local)'; user id='sa'; password='mypass'; database='pubs'" />
      </appSettings>using configsystem
    string connstr = (string)ConfigurationSettings.AppSettings["connstr"];
      

  8.   

    要在前面加上:
    using System.Configuration;
      

  9.   

    数据库连接打开可以放在session中
    这样每个用户只有一个连接
      

  10.   

    放到web.config里
      <appSettings>
      <add key="conn" value="server='(local)'; user id='sa'; password='mypass'; database='pubs'" />
      </appSettings>调用
    string connstr = ConfigurationSettings.AppSettings["conn"];
      

  11.   

    ===》我把访问数据库的数据库ip地址写在Global里面,发现如果修改IP地址的话,如果用C#写的代码就必须要重新编译一次才会有效果,而VB.net不会。不会吧!VB.NET现在也是编译型的语言呀!和C#的特性一摸一样呀!怎么会不用编译呢?===》我现在用的是C#,如何才能简单的不需要编译,从文件中直接读取一些配置信息?怎么样做是比较标准的做法。大家说的都没错可以将连接字符串放到Web.Config里面。访问Web.Config不要忘了引用System.Configuration。===》我每个页面都会有访问到数据库,数据库是同一个,怎么样做是比较标准的只建立一个数据库连接的方法?而不是在每个页面里面建立连接
    可以使用一个数据库访问类比如:SqlHelper(微软的)。用一个统一的方法管理你的连接和数据库操作。
      

  12.   

    以上的方法是让connstr共享了啊
    调用:
    string connstr = ConfigurationSettings.AppSettings["strConn"];
    SqlConnection conn=new SqlConnection(connstr);这样的话SqlConnection还是没有共享啊。
    每个页面还是有不同的SqlConnection
    要怎么样让connect只做一次呢。
      

  13.   

    ===》我把访问数据库的数据库ip地址写在Global里面,发现如果修改IP地址的话,如果用C#写的代码就必须要重新编译一次才会有效果,而VB.net不会。不会吧!VB.NET现在也是编译型的语言呀!和C#的特性一摸一样呀!怎么会不用编译呢?的确是不用做好的网站,把.vb改一下,马上就有效,根本不用重新编译
      

  14.   

    to:cuike519(Power_mj)
    刚才没有看到===》我每个页面都会有访问到数据库,数据库是同一个,怎么样做是比较标准的只建立一个数据库连接的方法?而不是在每个页面里面建立连接
    可以使用一个数据库访问类比如:SqlHelper(微软的)。用一个统一的方法管理你的连接和数据库操作。多谢了。我就去看看。
      

  15.   

    什么地方有这个SqlHelper(微软的)下载地址呢?
      

  16.   

    SqlHelper(微软的)下载地址:http://www.microsoft.com/downloads/details.aspx?FamilyId=F63D1F0A-9877-4A7B-88EC-0426B48DF275&displaylang=en
    有病乱投医,我也不想在别人的帖子里问:
    老兄们,帮我看看这个,好多天没人回答了:120分:关于企业及模板项目中的“VC#简单分布式应用”的问题。
    http://expert.csdn.net/Expert/topic/2657/2657659.xml?temp=.4597284
      

  17.   

    Global是一个类,运行时实例化,它已经被编译到程序集里面去了。所以修改Global时,必须要编译。
      

  18.   

    >>这样的话SqlConnection还是没有共享啊。
    >>每个页面还是有不同的SqlConnection
    >>要怎么样让connect只做一次呢。我觉得这个想法没有意义,.Net不推荐这样。.Net有连接池,每次用数据时就去连接,用网就断开,最好不要让一个程序保持一个连接。
      

  19.   

    在web.config
    <configuration>
        <appSettings>
        <add key="dsn" value="server=localhost;uid=sa;pwd=jvhmr;database=pay_file" />
       </appSettings>
      <system.web>
      </system.web>
    </configuration>
    调用:
    string ConS=System.Configuration.ConfigurationSettings.AppSettings["dsn"].ToString();
      

  20.   

    是“每次用数据时就去连接,用完就断开”,不是“每次用数据时就去连接,用网就断开”。Duwamish7和PetShop两个例子中,用了两种方法读配置文件,你可以参照一下。
      

  21.   

    多谢hsb0307(hsb8704066) 学到不少,看样子这个贴的分是不够分了
      

  22.   

    还有这句:
    当您将更改保存到活动 Global.asax 文件时,ASP.NET 页框架检测到该文件已被更改。它完成应用程序的所有当前请求,将 Application_OnEnd 事件发送到任何侦听器,并重新启动应用程序域。实际上,这会重新启动应用程序,关闭所有浏览器会话并刷新所有状态信息。当来自浏览器的下一个传入请求到达时,ASP.NET 页框架将重新分析并重新编译 Global.asax 文件并引发 Application_OnStart 事件。用VS.net是Global.asax文件会有一个代码后置文件:global.asax.cs<%@ Application Codebehind="Global.asax.cs" Inherits="hgSa.Global" %>
    public class Global : System.Web.HttpApplication
    {..................}