質問

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)

役に立ちましたか?

解決

You need to quote the alias name.

E.DEWDROPNAME 'FOGGY' ...
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top