将ExecuteCommand的结果保存在字符串中

时间:2015-10-09 13:00:15

标签: c# sql executequery

我想从c#

执行SQL命令

我有:

ccDc = getDataContext();
int MD5 = ccDc.ExecuteCommand("SELECT HASHBYTES('MD5', ChunkData) FROM dbo.x where id={0}", Id);

当我运行时

SELECT HASHBYTES('MD5', ChunkData) FROM dbo.x where Id = '40'

我可以看到md5的字符串,但在c#中它只返回一个整数。 但我需要将结果保存在字符串中。

我该怎么办?

2 个答案:

答案 0 :(得分:0)

以下假设getDataContext()是创建SQL连接的原因。

ccDc = getDataContext();

using (SqlCommand command = new SqlCommand(
    string.Format("SELECT HASHBYTES('MD5', ChunkData) FROM dbo.x where id={0}", Id),
    ccDc))
{
    using (SqlDataReader reader = command.ExecuteReader())
    {
        while (reader.Read())
        {
            for (int i = 0; i < reader.FieldCount; i++)
            {
                Console.WriteLine(reader.GetValue(i)); // or do whatever you want with the results...
            }
        }
    }
}

您应该参数化您的查询以防止SQL注入,但是有很多教程和问题。

答案 1 :(得分:-1)

convertPointsFromHomogeneous