如何在我的 C# 项目中使用现有 app.config 文件中的 sql 连接信息

How to use sql connection information from existing app.config file in my C# Project

我正在尝试用 C# 编写一个小应用程序,我需要连接到 SQL 来获取一些数据,为此我需要 SQL 用户 ID 和密码,对于同一个客户端是其他应用程序 运行 连接到 SQL 服务器并具有加密形式的配置文件。 我对 C# 和 .Net 不是很好,并且很难理解这些概念,我试图在 post 中搜索答案但没有得到任何适合我的问题的回复。 我可以在我的新项目中使用已经在使用的配置文件,并读取加密形式的用户名和密码信息并用于连接到 SQL 服务器吗?

任何有助于理解在 C# 中使用配置文件的好东西,以及很好的例子,我们将不胜感激。

看看: How to set SQL Server connection string?

这个例子是针对 MSSQL 的,对于其他人来说几乎是一样的。

如果您对 SQL 服务器具有管理权限,则可以创建一个可用于连接的帐户。

如果您没有管理员权限,则必须要求管理员为您创建一个帐户...或告诉您可以使用的凭据。

app.config 中,在 <configuration> 中添加以下行:

<connectionStrings>
  <add name="PWD" connectionString="#$@AERG#$"/>
</connectionStrings>

在主程序中:

  1. Add the reference System.Configuration through the Project Manager.
  2. Add using System.Configuration; in the using segment.
  3. use ConfigurationManager.ConnectionStrings["PWD"].ToString() to access the encrypted password in the config file.

请根据您的目的进行相应更改!!!

祝你好运!!!

使用这个功能

 /// <summary>
            /// Get values of the connection string in the following order :
            /// Server , Database,
            /// If the length of the list is 3 then the 3rd object is True (Integrated Security)
            /// If it is 4 then the 3rd object is the 3rd object is the username and the 4th is the password.
            /// 
            /// </summary>
            /// <returns></returns>
            public static List<string> GetCurrentConnectionString()
            {
                try
                {
                    List<string> lstConnStrData = new List<string>();
                    string[] aryConnStrData = new string[1];
                    // OPen the Config file as XML document and loop over it.
                    XmlDocument XmlDoc = new XmlDocument();
                    //Loading the Config file
                    XmlDoc.Load(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile);
                    foreach (XmlElement xElement in XmlDoc.DocumentElement)
                    {
                        if (xElement.Name == "connectionStrings")
                        {
                            //setting the coonection string
                            aryConnStrData = xElement.ChildNodes[1].Attributes[1].Value.Split(';');
                            break;
                        }

                    }

                    // Now loop over the array that holds the conn str data and split each item on "=",
                    // and add the second splitted item to the list, so at the end the list will contains 
                    // the values of the connection string.

                    for (int i = 0; i <= aryConnStrData.Length - 2; i++)
                    {
                        lstConnStrData.Add(aryConnStrData[i].Split('=')[1]);
                    }
                    return lstConnStrData;
                }
                catch (Exception)
                {

                    throw;
                }
            }

   public static List<string> SplitConnectionString(string ConnectionString)
    {
        try
        {
            List<string> lstConnStrData = new List<string>();
            string[] aryConnStrData = new string[1];

            aryConnStrData = ConnectionString.Split(';');

            // Now loop over the array that holds the conn str data and split each item on "=",
            // and add the second splitted item to the list, so at the end the list will contains 
            // the values of the connection string.

            for (int i = 0; i <= aryConnStrData.Length - 2; i++)
            {
                lstConnStrData.Add(aryConnStrData[i].Split('=')[1]);
            }
            return lstConnStrData;
        }
        catch (Exception)
        {

            throw;
        }
    }