CLR存储过程

时间:2011-04-12 13:39:41

标签: clr clrstoredprocedure

我希望在CLR存储过程中使用Cryptography API。

我创建了一个CLR存储过程并编写了一个select语句

SqlConnection conn = new SqlConnection();
conn.ConnectionString = "Context Connection=true";
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = @"select * from Employee";

SqlDataReader rdr = cmd.ExecuteReader();

现在我希望使用员工编号过滤结果,该编号以加密形式存储在数据库中,我将使用加密方法。

现在我不知道如何过滤SqlDataReader中的记录。

我希望返回格式为SqlDataReader,从CLR存储过程返回多个记录,有一个方法SqlContext.Pipe.Send(),此方法只接受SqlDataReader个对象。

请指导我。

1 个答案:

答案 0 :(得分:0)

我正在查看类似的问题,我想在返回结果之前进行一些操作。 我目前唯一能看到的方法是使用:

// Note you need to pass an array of SqlMetaData objects to represent your columns
// to the constructor of SqlDataRecord

SqlDataRecord record = new SqlDataRecord();

// Use the Set methods on record to supply the values for the first row of data
SqlContext.Pipe.SendResultsStart(record);

// for each record you want to return
// use set methods on record to populate this row of data

SqlContext.Pipe.SendResultsRow(record);

完成后请致电SqlContext.Pipe.SendResultsEnd

如果有更好的方式我也想知道!