Impossible de créer la requête paramétrée pour Interbase en utilisant ADO.NET

StackOverflow https://stackoverflow.com/questions/6331175

  •  27-10-2019
  •  | 
  •  

Question

Je suis en train d'émettre un paramétrées SELECT à une base de données Interbase XE utilisant ADO.NET. Le code que je utilise est comme suit:

using (OdbcConnection odbcConnection = new OdbcConnection(ConfigurationManager.ConnectionStrings["LawbaseTest"].ToString()))
      {
        odbcConnection.Open();
        using (OdbcCommand odbcCommand = new OdbcCommand())
        {
          odbcCommand.CommandType = CommandType.Text;
          odbcCommand.Connection = odbcConnection;
          odbcCommand.Parameters.Add(new OdbcParameter(":CaseNumber", 1265));
          odbcCommand.CommandText = "select * from cmstub where cm_recnum = :CaseNumber";
          using (IDataReader rdrData = odbcCommand.ExecuteReader())
          {
            Output(rdrData["CM_DESC"]);
          }
        }
      }

Je reçois l'erreur suivante:

ERROR [42S22] [DataDirect][ODBC InterBase driver][InterBase]Dynamic SQL Error, SQL error code = -206, Column unknown, CASENUMBER

Ce qui me porte à croire que la requête ne sont pas envoyées à Interbase dans une syntaxe qu'il reconnaît comme une requête paramétrée.

Ceci est plutôt plus difficile que je m'y attendais. Suis-je un Ficko? Pouvez-vous aider?

Était-ce utile?

La solution

Il semble être la norme que les paramètres nommés ne sont pas pris en charge largement, avez-vous essayé d'utiliser? à la place, à savoir cm_recnum =:? CaseNumber à cm_recnum =

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top