0

ADO.NET を使用して、パラメーター化された SELECT を Interbase XE データベースに発行しようとしています。私が使用しているコードは次のとおりです。

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

次のエラーが表示されます。

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

これは、パラメーター化されたクエリとして認識される構文でクエリが Interbase に送信されていないことを示唆しています。

これは私が予想していたよりもかなり難しいです。私はフィッコですか?手伝ってくれますか?

4

1 に答える 1

0

名前付きパラメーターが広くサポートされていないのが標準のようです。使用してみましたか? 代わりに、つまり cm_recnum = :CaseNumber を cm_recnum = ? にします。

于 2011-06-15T13:14:44.567 に答える