2009-03-02 6 views
0

J'ai un ensemble de C# qui prend dans une variable SqlBinary pour déchiffrer ...assemblées SQL Server et SqlBinary DataType

[SqlProcedure(Name="Decrypt")] 
public static SqlInt32 Decrypt(SqlBinary toDecrypt) 
{ 
    return runQuery(toDecrypt); 
} 

// decrypt or encrypt is determined based on the datatype of argValue 
private static SqlInt32 runQuery(object argValue) 
{ 
    // create connection and command 

     command.Parameters.Add("@argValue", SqlDbType.VarBinary, 1024).Value = (SqlBinary)argValue; 

I comprennent (SqlBinary) argValue comme une colonne dans l'instruction select pour le débogage simple. Il n'apparaît pas comme si cette valeur SqlBinary est correctement placée dans la requête.

argValue est utilisé comme ceci:

QueryString += "SELECT decryptbykey(@argValue);"; 

Ce qui est d'être renvoyé ressemble à une version tronquée de (SqlBinary) argValue

Répondre

0

réponse à ma propre question:

je devais jeter le résultat de decryptbykey à un varchar ... duh! :)