Sunday, October 24, 2010

C#(Get the ConnectionStrings From Web Service's App.Config on Winform)


//[CONFIGURATION FILE OF WEB SERVICE]


<connectionStrings>
        <add name="ConnectionString" connectionString="Data Source=ServerName;Initial Catalog=DataBaseName;Integrated Security=True" providerName="System.Data.SqlClient" />
    </connectionStrings>

//[WEBSERVICE]

//[WebMethod]
    public DataTable connectionMethod()
    {
      //DECLARE A DATA TABLE
        DataTable dt = new DataTable();

      //GIVE A TABLE NAME OF DATA TABLE
        dt.TableName = "Connections_Table";

      //ADD COLLUMS IN THE DATA TABLE     NAME        OF       TYPE
        dt.Columns.Add(new DataColumn() { ColumnName = "Name", DataType = typeof(string) });
        dt.Columns.Add(new DataColumn() { ColumnName = "ConnectionString", DataType = typeof(string) });

        int i = 0;
      //THIS WILL GET THE ALL COLLECTION STRINGS FROM THE App.Config WHICH YOU DECLARED IN..
        foreach (var item in ConfigurationManager.ConnectionStrings)
        {
        //THIS WILL GENERATES NEW DATA ROW IN THE DATATABLE
            DataRow row = dt.NewRow();
      
        //THIS IS GETTING THE CONNECTION'S NAME FROM THE App.Config IN THE ROW CALLED NAME
            row["Name"] = ConfigurationManager.ConnectionStrings[i].Name.ToString();

        //THIS IS GETTING THE CONNECTION'S STRINGS FROM THE App.Config IN THE ROW CALLED CONNECTIONSTRING
            row["ConnectionString"] = ConfigurationManager.ConnectionStrings[i].ConnectionString.ToString();

        //THIS WILL ADD BOTH OF THE ROWS IN THE DATA TABLE
            dt.Rows.Add(row);

            i++;
        }
        return dt;
    }


//[WINDOWS FORMS]
        private void frmLogin_Load(object sender, EventArgs e)
        {
            ServiceReference1.ServiceSoapClient ConnectionService = new ServiceReference1.ServiceSoapClient();
            DataTable MyDT = new DataTable();
            MyDT = ConnectionService.connectionMethod();

            for (int i = 0; i < MyDT.Rows.Count; i++)
            {
            /*LOCAL SQL SERVER USUALLY OCCERS THIS IS TO REMOVE IT FROM ANY INDEX OF THE CONTROL IN WHICH YOU GONNA POPULATE WHICH HAS             A COLLECTION PROPERTY*/
                if (MyDT.Rows[i][i].ToString() == "LocalSqlServer")
                {
                    MyDT.Rows.RemoveAt(i);
                }
            }

            cmbServerName2.DataSource = MyDT;
            cmbServerName2.DisplayMember = "Name";
            cmbServerName2.ValueMember = "ConnectionString";
        }

No comments:

Post a Comment