SqlDataRecord 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示单个数据行及其元数据。 此类不能被继承。
public ref class SqlDataRecord : System::Data::IDataRecord
public class SqlDataRecord : System.Data.IDataRecord
type SqlDataRecord = class
interface IDataRecord
Public Class SqlDataRecord
Implements IDataRecord
- 继承
-
SqlDataRecord
- 实现
示例
以下示例演示如何创建多个 SqlMetaData 对象,这些对象描述记录的列元数据,以及如何创建 SqlDataRecord。 设置 的 SqlDataRecord 列值, SqlDataRecord 并使用 SqlContext 类将 发送到调用程序。
[Microsoft.SqlServer.Server.SqlProcedure]
public static void CreateNewRecord()
{
// Variables.
SqlDataRecord record;
// Create a new record with the column metadata. The constructor is
// able to accept a variable number of parameters.
record = new SqlDataRecord(new SqlMetaData[] { new SqlMetaData("Column1", SqlDbType.NVarChar, 12),
new SqlMetaData("Column2", SqlDbType.Int),
new SqlMetaData("Column3", SqlDbType.DateTime) });
// Set the record fields.
record.SetString(0, "Hello World!");
record.SetInt32(1, 42);
record.SetDateTime(2, DateTime.Now);
// Send the record to the calling program.
SqlContext.Pipe.Send(record);
}
<Microsoft.SqlServer.Server.SqlProcedure()> _
Public Shared Sub CreateNewRecord()
' Variables.
Dim record As SqlDataRecord
' Create a new record with the column metadata. The constructor is
' able to accept a variable number of parameters.
record = New SqlDataRecord(New SqlMetaData() {New SqlMetaData("Column1", SqlDbType.NVarChar, 12), _
New SqlMetaData("Column2", SqlDbType.Int), _
New SqlMetaData("Column3", SqlDbType.DateTime)})
' Set the record fields.
record.SetString(0, "Hello World!")
record.SetInt32(1, 42)
record.SetDateTime(2, DateTime.Now)
' Send the record to the calling program.
SqlContext.Pipe.Send(record)
End Sub
注解
此类与 一起使用 SqlPipe ,将结果集从托管代码存储过程发送到客户端。
(CLR) 应用程序编写公共语言运行时时,应重复使用现有 SqlDataRecord
对象,而不是每次创建新对象。 创建许多新 SqlDataRecord
对象可能会严重耗尽内存,并会对性能产生负面影响。
构造函数
SqlDataRecord(SqlMetaData[]) |
使用基于作为参数传递的 SqlMetaData 对象数组的架构初始化新的 SqlDataRecord。 |
属性
FieldCount |
获取数据行的列数。 此属性为只读。 |
Item[Int32] |
为列 |
Item[String] |
为列 |
方法
显式接口实现
IDataRecord.GetData(Int32) |
在此版本中不受支持。 |