jeudi 9 février 2017

Creating a dynamic union select in C# Method

Vote count: 0

Can someone improve on my method for creating union select views from 2 databases located within the same server in C#, here is the code for the method:

public override DataSet GetDynamicReportData(string strSQL) {

            var sbSQL = new StringBuilder(strSQL);
            var finalQueryStr = new StringBuilder(strSQL);

            sbSQL.Replace("SELECT DISTINCT ", "");

            var iamNEAS3 =
                new StringBuilder(" UNION SELECT DISTINCT ");

            var queryColumns = sbSQL.ToString().Split(',');

            for (var i = 0; i <= queryColumns.Length - 1; i++) {

                iamNEAS3.Append(queryColumns[i]);

                if (i < queryColumns.Length - 1) {
                    iamNEAS3.Append(", ");
                } else if (i == queryColumns.Length - 1) {

                    var appendMagic =
                        queryColumns[i].Replace(
                            "From [dbo].[vw_Classified_ApplicationsFiles]",
                            "FROM [project_phoenix].[dbo].[vw_Classified_ApplicationFiles]")

                    iamNEAS3.Append(appendMagic);

                    // Systematic removal; thank you!
                    iamNEAS3.Replace(queryColumns[i], "");
                }
            }

            finalQueryStr.Append(iamNEAS3);

            return DALDynamicReport.GetData(finalQueryStr.ToString());
        }

Now it receives a string parameter where strSQL = "Select Distinct [Row1], [Row2], [Row3], [Row4] From [project_mongoose].[dbo].[vw_Classified_ApplicationsFiles] where [Row2] <= 200". I know my programming skills are limited, but is there a way to not code this by hand like I did?

asked 46 secs ago

Let's block ads! (Why?)



Creating a dynamic union select in C# Method

Aucun commentaire:

Enregistrer un commentaire