我希望在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
个对象。
请指导我。
答案 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
。
如果有更好的方式我也想知道!