WINFORM程序首次运行程序时需要连接数据库(由管理员设置),连接成功后将连接字符串储存在某个文件中,以后普通用户连接时直接读取这个字符串进行连接。但这个文件因为包含有密码,所以不能让普通用户看到。请问大家是如何处理这个问题的?

解决方案 »

  1.   

    放到winform的属性文件中对于你要设置的字符串提供一个界面,输入的值保持到属性文件中这个属性文件也可以在发布后直接修改,程序发布后,属性文件会变成一个xml文件存在,可以直接修改里面内容。
      

  2.   

    可以存储在app.config配置文件中,
    在系统中设计一个界面,让后用户可以输入数据库连接地址等配置信息,
    然后程序中将用户输入的这些内容,存储到配置文件的<connectionString>节点中,
    在程序中将配置文件进行加密,
    .net对配置文件的加密后,程序再读取的时候,是不需要程序员进行显式解密,
    .net程序第一次运行时会自动判断该节点是否加密过,如果加密过,则自动进行解密,
    如果没有加密过,则读取该节点内容。至于怎么将字符写入配置文件,怎么读取配置文件,怎么给配置文件加密。
    请Google、Baidu之。
      

  3.   

    asp.net2.0中读取web.config数据库连接字符串2种方法string myConn = System.Configuration.ConfigurationManager.ConnectionStrings["sqlConnectionString"].ConnectionString;string connString = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["sqlConnectionString"].ToString();web.config下的连接mysql的字符串<?xml version="1.0"?>
    <!-- 
        注意: 除了手动编辑此文件以外,您还可以使用 
        Web 管理工具来配置应用程序的设置。可以使用 Visual Studio 中的
         “网站”->“Asp.Net 配置”选项。
        设置和注释的完整列表在 
        machine.config.comments 中,该文件通常位于 
        \Windows\Microsoft.Net\Framework\v2.x\Config 中
    -->
    <configuration>
    <appSettings/>
    <connectionStrings>
        <!--链接MySql数据库的链接字符串-->
        <add name="smconn" connectionString="data Source=localhost;database=ceshi;User id=root;password=root" providerName="MySql.Data.MySqlClient;"></add>
    </connectionStrings>
    <system.web>
       <!-- 
                设置 compilation debug="true" 将调试符号插入
                已编译的页面中。但由于这会 
                影响性能,因此只在开发过程中将此值 
                设置为 true。
            -->
       <compilation debug="true"/>
       <!--
                通过 <authentication> 节可以配置 ASP.NET 使用的 
                安全身份验证模式,
                以标识传入的用户。 
            -->    <pages>
          <controls>
            <add tagPrefix="Head" src="~/MyControl/Head.ascx" tagName="Head"/>
          </controls>
        </pages>
        
       <authentication mode="Windows"/>
       <!--
                如果在执行请求的过程中出现未处理的错误,
                则通过 <customErrors> 节可以配置相应的处理步骤。具体说来,
                开发人员通过该节可以配置
                要显示的 html 错误页
                以代替错误堆栈跟踪。        <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
                <error statusCode="403" redirect="NoAccess.htm" />
                <error statusCode="404" redirect="FileNotFound.htm" />
            </customErrors>
            -->
        <!--globalization fileEncoding="UTF-8" requestEncoding="UTF-8" responseEncoding="UTF-8" /-->
        <globalization fileEncoding="gb2312" requestEncoding="gb2312" responseEncoding="gb2312" /></system.web>
    </configuration>
      

  4.   

    将数据加密后放到一个XML文件中。以前我公司也是这样做的。
      

  5.   


    //asp.net2.0中读取web.config数据库连接字符串2种方法 string myConn = System.Configuration.ConfigurationManager.ConnectionStrings["sqlConnectionString"].ConnectionString; string connString = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["sqlConnectionString"].ToString(); web.config下的连接mysql的字符串 <?xml version="1.0"?> 
    <!-- 
        注意: 除了手动编辑此文件以外,您还可以使用 
        Web 管理工具来配置应用程序的设置。可以使用 Visual Studio 中的 
        “网站”->“Asp.Net 配置”选项。 
        设置和注释的完整列表在 
        machine.config.comments 中,该文件通常位于 
        \Windows\Microsoft.Net\Framework\v2.x\Config 中 
    --> 
    <configuration> 
    <appSettings/> 
    <connectionStrings> 
        <!--链接MySql数据库的链接字符串--> 
        <add name="smconn" connectionString="data Source=localhost;database=ceshi;User id=root;password=root" providerName="MySql.Data.MySqlClient;"> </add> 
    </connectionStrings> 
    <system.web> 
      <!-- 
                设置 compilation debug="true" 将调试符号插入 
                已编译的页面中。但由于这会 
                影响性能,因此只在开发过程中将此值 
                设置为 true。 
            --> 
      <compilation debug="true"/> 
      <!-- 
                通过 <authentication> 节可以配置 ASP.NET 使用的 
                安全身份验证模式, 
                以标识传入的用户。 
            -->     <pages> 
          <controls> 
            <add tagPrefix="Head" src="~/MyControl/Head.ascx" tagName="Head"/> 
          </controls> 
        </pages> 
        
      <authentication mode="Windows"/> 
      <!-- 
                如果在执行请求的过程中出现未处理的错误, 
                则通过 <customErrors> 节可以配置相应的处理步骤。具体说来, 
                开发人员通过该节可以配置 
                要显示的 html 错误页 
                以代替错误堆栈跟踪。         <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm"> 
                <error statusCode="403" redirect="NoAccess.htm" /> 
                <error statusCode="404" redirect="FileNotFound.htm" /> 
            </customErrors> 
            --> 
        <!--globalization fileEncoding="UTF-8" requestEncoding="UTF-8" responseEncoding="UTF-8" /--> 
        <globalization fileEncoding="gb2312" requestEncoding="gb2312" responseEncoding="gb2312" /> </system.web> 
    </configuration>