WEB开发网
开发学院数据库Oracle 使用ADO.NET访问Oracle 9i存储过程(上) 阅读

使用ADO.NET访问Oracle 9i存储过程(上)

 2007-05-13 12:30:07 来源:WEB开发网   
核心提示: 9.处理结果,在我们的示例中,使用ADO.NET访问Oracle 9i存储过程(上)(4),可在显示到控制台的输出参数中得到记录数:Console.WriteLine(cmd.Parameters["reccount"].Value);下面是在本示例中开发的用于执行存储

9.

处理结果。在我们的示例中,可在显示到控制台的输出参数中得到记录数:

Console.WriteLine(cmd.Parameters["reccount"].Value);

下面是在本示例中开发的用于执行存储过程和检索结果的代码:

OracleConnection conn = new OracleConnection("Data Source=oracledb;
   User Id=UserID;Password=Password;");
  OracleCommand cmd = new OracleCommand();
cmd.Connection = conn;
cmd.CommandText = "COUNT_JOB_HISTORY";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("reccount", OracleType.Number).Direction =
   ParameterDirection.Output;
  conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
  Console.WriteLine(cmd.Parameters["reccount"].Value);

不返回数据的存储过程

OracleCommand 类的 ExecuteOracleNonQuery() 方法用于执行不返回任何行的 SQL 语句或存储过程。该方法返回一个 int 值,表示受 UPDATE、INSERT 和 DELETE 命令影响的行数;如果没有任何行受到影响,则返回 -1。如果您所执行的 INSERT、DELETE 或 UPDATE 语句恰好影响一行,则该方法具有单个参数 OracleString out rowid,该参数唯一标识 Oracle 数据库中受影响的行。可以使用该值来优化后续相关查询。

还可以使用 OracleCommand 类的 ExecuteNonQuery() 方法来执行不返回数据的存储过程,但您将无法获得上面介绍的唯一行标识符。

尽管上述命令都不会返回任何数据,但映射到参数的输出参数和返回值仍然使用数据进行填充。这使您可以使用上述任一命令从存储过程返回一个或多个标量值。

上一页  1 2 3 4 5 6 7 8  下一页

Tags:使用 ADO NET

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接