Click here to Skip to main content
15,896,063 members
Articles / Desktop Programming / Windows Forms

Crystal Report Filtering Using Selection Parameters

Rate me:
Please Sign up or sign in to vote.
4.88/5 (15 votes)
2 Jun 2011CPOL3 min read 264K   9.2K   28  
Beginner's Guide to Crystal Report Filtering
using System;
using System.Collections.Generic;
using System.Text;

namespace CrytsalReportsDemo
{
    public class DbConnectionInfo
    {
        private static string m_userName = String.Empty;
        private static string m_password = String.Empty;
        private static string m_serverName = String.Empty;
        private static string m_initialCatalog = String.Empty;
        private static bool m_useIntegratedSecurity = false;
        public static void SetConnectionString(string connstr)
        {
            Dictionary<string, string> connStringKeys = new Dictionary<string, string>();
            string[] keysBySemicolon = connstr.Split(';');
            string[] keysByEquals;
            foreach (string keySemicolon in keysBySemicolon)
            {
                keysByEquals = keySemicolon.Split('=');
                if (keysByEquals.Length == 0)
                {
                    // do nothing
                }
                else if (keysByEquals.Length == 1)
                {
                    // assume key name but no value
                    connStringKeys.Add(keysByEquals[0].ToUpper(), "");
                }
                else
                {
                    connStringKeys.Add(keysByEquals[0].ToUpper(), keysByEquals[1]);
                }
            }
            if (connStringKeys.ContainsKey("DATA SOURCE"))
            {
                m_serverName = connStringKeys["DATA SOURCE"];
            }
            if (connStringKeys.ContainsKey("DATABASE"))
            {
                m_initialCatalog = connStringKeys["DATABASE"];
            }
            if (connStringKeys.ContainsKey("INITIAL CATALOG"))
            {
                m_initialCatalog = connStringKeys["INITIAL CATALOG"];
            }
            if (connStringKeys.ContainsKey("USER ID"))
            {
                m_userName = connStringKeys["USER ID"];
            }
            if (connStringKeys.ContainsKey("PASSWORD"))
            {
                m_password = connStringKeys["PASSWORD"];
            }
            if (connStringKeys.ContainsKey("INTEGRATED SECURITY"))
            {
                m_useIntegratedSecurity = true;
            }
        }
        public static string UserName
        {
            get { return m_userName; }
        }
        public static string Password
        {
            get { return m_password; }
        }
        public static string ServerName
        {
            get { return m_serverName; }
        }
        public static string InitialCatalog
        {
            get { return m_initialCatalog; }
        }
        public static bool UseIntegratedSecurity
        {
            get { return m_useIntegratedSecurity; }
        }
    }
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer
Egypt Egypt
Enthusiastic programmer/researcher, passionate to learn new technologies, interested in problem solving, data structures, algorithms, AI, machine learning and nlp.

Amateur guitarist/ keyboardist, squash player.

Comments and Discussions