Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search for
  Advanced Search

Re: OdbcCommand Parameter


  • From: "Gary Doades" <gpd(at)gpdnet(dot)co(dot)uk>
  • To: <pgsql-hackers-win32(at)postgresql(dot)org>
  • Subject: Re: OdbcCommand Parameter
  • Date: Wed, 22 Sep 2004 18:45:56 +0100
  • Message-id: <4151C864(dot)18996(dot)242E3F23(at)localhost>

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.




Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group