如果你习惯于SQL服务器程序的开发,你会发觉Oracle数据库世界里是另一番天地。当运行SQL服务器程序时,访问SQL查询结果的过程正如把一个数据赋予DataReader, DataSet等那样的简单。这一过程和存储程序的运行大致一样,因为当一个命令执行时,SQL服务器程序就会返回结果。表A中的代码运行了一个名为sp_persons的存储程序并把结果存放到DataSet。 Oracle没有遵循SQL服务器的返回数据模式。一个Oracle查询的结果以一个指针的形式返回,这一指针也是作为Oracle存储程序的一个输出参数。所以当从.NET访问Oracle数据库时,你必须指定一个参数来指向指针。 利用OracleParameter生成参数 你可以充分利用System.Data.OracleClient.OracleParameter类,这些类能够处理输出和输入参数,并生成和配置参数。OracleCommand类包含一个能够初始化参数对象的参数属性。 表B范例中,我建立了一个Oracle连接和使用了一个存储程序作为命令。对比表A和表B,我们可以注意到命令类型必须设置为