OdbcParameters in SELECT clause

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • dominicpouzin@gmail.com

    OdbcParameters in SELECT clause

    I am trying to safely pass the list of fields to select, as in:
    OdbcCommand odbcCommand = new OdbcCommand();
    odbcCommand.Com mandText = "SELECT ? FROM myTable";
    odbcCommand.Par ameters.Add(new OdbcParameter(" @myField",
    "myField");
    odbcCommand.Con nection = myOdbcConnectio n;
    OdbcDataReader odbcDataReader = odbcCommand.Exe cuteReader();

    This does not work. The returned odbcDataReader did load all expected
    rows, but odbcDataReader[0] is set to "myField" (instead of the actual
    value of "myField" for each row).

    How do I safely pass the list of fields to select using
    SQLparameters?

    This is using a mySQL ODBC driver.

    Thanks!
  • =?ISO-8859-1?Q?Arne_Vajh=F8j?=

    #2
    Re: OdbcParameters in SELECT clause

    dominicpouzin@g mail.com wrote:
    I am trying to safely pass the list of fields to select, as in:
    OdbcCommand odbcCommand = new OdbcCommand();
    odbcCommand.Com mandText = "SELECT ? FROM myTable";
    odbcCommand.Par ameters.Add(new OdbcParameter(" @myField",
    "myField");
    odbcCommand.Con nection = myOdbcConnectio n;
    OdbcDataReader odbcDataReader = odbcCommand.Exe cuteReader();
    >
    This does not work. The returned odbcDataReader did load all expected
    rows, but odbcDataReader[0] is set to "myField" (instead of the actual
    value of "myField" for each row).
    >
    How do I safely pass the list of fields to select using
    SQLparameters?
    >
    This is using a mySQL ODBC driver.
    I am afraid that you don't.

    Parameters is for values. Not for table names or field names.

    Dynamic SQL with (!!) input data validation or maybe more practical
    just SELECT * and pick from the output via field name.

    Arne

    Comment

    Working...