Re: OdbcCommand Parameter - Mailing list pgsql-hackers-win32

From Gary Doades
Subject Re: OdbcCommand Parameter
Date
Msg-id 4151C864.18996.242E3F23@localhost
Whole thread Raw
In response to OdbcCommand Parameter  ("Luca Beretta" <luca.beretta@dataelco.it>)
List pgsql-hackers-win32
On 22 Sep 2004 at 9:31, Luca Beretta wrote:

> [OdbcException: ERROR [HY000] ERROR: operator does not exist: @@ character varying]
> i think it depends by parameters names, so tried @@param,$param,%param but i get always
> the same exception.
>
> which is the right mode ?

For ODBC the parameters are positional not named. For C# you would use something
like the following:

    OdbcCommand cmd = new OdbcCommand();
    cmd.CommandType = CommandType.StoredProcedure;
    cmd.CommandText = "{call LoadCustCliOrders(?,?,?,?)}";

    cmd.Parameters.Add("CUST_ID",OdbcType.Int);
    cmd.Parameters.Add("CLIENT_ID",OdbcType.Int);
    cmd.Parameters.Add("DATE_FROM",OdbcType.Date);
    cmd.Parameters.Add("DATE_TO",OdbcType.Date);

...

    cmd.Parameters["CUST_ID"].Value = _CustId;
    cmd.Parameters["CLIENT_ID"].Value =  _ClientId;
    cmd.Parameters["DATE_FROM"].Value = _DateFrom;
    cmd.Parameters["DATE_TO"].Value = _DateTo;

    cmd.ExecuteReader (or whatever)...

The names don't matter, you just need to make sure you have the parameters added
in the same order they appear in your SQL.

This is an example of calling a stored procedure, but the same general principle
applies to textual SQL statements.

If you need further examples, let me know.

Cheers,
Gary.


pgsql-hackers-win32 by date:

Previous
From: "Magnus Hagander"
Date:
Subject: "Operation on non-socket" analysis
Next
From: "Peter van der Maas"
Date:
Subject: installer automation