Question

Why would aliases be treated like aliens when used in a select statement?

I can't imagine this is always the case, but I had to change this code:

const string query = 
    @"SELECT C.PLATYPUSCLIENTID, E.DEWDROPNAME FOGGY
    FROM DUCKBILLACCOUNT B,
        PLATYPUSCLIENT C,
        ENTITY E
    WHERE B.DUCKBILLNUMBER = :PLATYPUSACCOUNTID
        AND B.DUCKBILLACCOUNTABCID = C.DUCKBILLACCOUNTABCID
        AND C.PLATYPUSCLIENTABCID = E.ABCID
    ORDER BY FOGGY, PLATYPUSCLIENTID";
    try {
        oc.Open();
        using (OracleCommand ocmd = new OracleCommand(query, oc)) {
            ocmd.Parameters.Add("PLATYPUSACCOUNTID", PLATYPUSACCOUNTID);
            using (OracleDataReader odr = ocmd.ExecuteReader()) {
                while (odr.Read()) { . . .

...to this:

const string query = 
    @"SELECT C.PLATYPUSCLIENTID, E.DEWDROPNAME 
    FROM DUCKBILLACCOUNT B,
        PLATYPUSCLIENT C,
        ENTITY E
    WHERE B.DUCKBILLNUMBER = :PLATYPUSACCOUNTID
        AND B.DUCKBILLACCOUNTABCID = C.DUCKBILLACCOUNTABCID
        AND C.PLATYPUSCLIENTABCID = E.ABCID
    ORDER BY DEWDROPNAME, PLATYPUSCLIENTID";
    try {
        oc.Open();
        using (OracleCommand ocmd = new OracleCommand(query, oc)) {
            ocmd.Parameters.Add("PLATYPUSACCOUNTID", PLATYPUSACCOUNTID);
            using (OracleDataReader odr = ocmd.ExecuteReader()) {
                while (odr.Read()) { . . .

...to get it to return vals at runtime (I was getting "IndexOutOfRangeException" with the first version)

Was it helpful?

Solution

You need to quote the alias name.

E.DEWDROPNAME 'FOGGY' ...
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top