0

我正在将一些 RDO 代码转换为 .NET 中的 ODBC 提供程序代码。

问题是原始代码中没有指定参数名称,但是在执行命令后通过参数名称检索了参数值。

无论如何,一旦执行命令,提供者是否会填充参数名称,以便调用代码可以按名称访问参数。

让我向您展示一个声明 param 和访问它的示例。

    With rdqryClntBasic
        .Parameters.Add(.CreateParameter) : .Parameters(0).Direction = ParameterDirection.Input
        .Parameters(0).DbType = DbType.String
        .Parameters(0).Value = sClntProdCd

结束于

.EffectiveDate = ToDate(rdqryClntBasic.Parameters("dtEffDt").Value)

您现在可以看到“过去在 RDO/VB 中如何工作”。由于某种原因,它会接受这一点并知道执行后参数名称是什么。我想它必须再次往返于数据库才能获取此信息。

无论如何在.NET for ODBC Provider(使用Oracle)中模仿这种行为吗?或者我是否坚持在代码中手动指定参数名称(我知道这是更好的选择,但想知道替代方案是尽可能地匹配原始代码)。

4

1 回答 1

0

不,ODBC 中的参数不是按名称定位的。

于 2011-05-21T04:56:13.320 回答