Domanda

Sto cercando di inviare un SELECT con parametri a un database Interbase XE utilizzando ADO.NET.Il codice che sto utilizzando è il seguente:

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"]);
          }
        }
      }

Ricevo il seguente errore:

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

Il che mi suggerisce che la query non viene inviata a Interbase in una sintassi che riconosce come query parametrizzata.

È piuttosto più difficile di quanto mi aspettassi.Sto facendo il ficko?Puoi aiutare?

È stato utile?

Soluzione

Sembra essere la norma che i parametri denominati non siano ampiamente supportati, hai provato a utilizzarli?invece, ad es. cm_recnum=: CaseNumber to cm_recnum=?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top