当前位置: 代码迷 >> Sql Server >> 跪求指导: SQL 时间戳 被序列化为JSON后,怎么再转换成时间戳
  详细解决方案

跪求指导: SQL 时间戳 被序列化为JSON后,怎么再转换成时间戳

热度:46   发布时间:2016-04-24 08:46:22.0
跪求指导: SQL 时间戳 被序列化为JSON后,如何再转换成时间戳
数据版本SQL SERVER 2008 R2
B/S项目

现在表有一列为时间戳列,比如值为:0x00000000000007E1,

C#代码执行查询SQL查询语句返回DataTable对象,再使用Newtonsoft.Json.JsonConvert.SerializeObject序列化为JSON字符串输出到前台客户端,值变成字符串:AAAAAAAAB+E=


现在将“AAAAAAAAB+E=”传回存储过程中,判断判断原纪录是否已被修改。需要将AAAAAAAAB+E= 转换为TIMESTAMP才能比较。

请问如果将VARCHAR类型转换为TIMESTAMP类型。

求大神指导。跪谢谢!!

------解决思路----------------------
       public static string ToJsonProcess<T>(int Code, string msg, string action, IList<T> list)
        {
            try
            {
                String json = "";
                IsoDateTimeConverter timeConverter = new IsoDateTimeConverter();
                timeConverter.DateTimeFormat = "yyyy-MM-dd";//设置时间格式 
                json = JsonConvert.SerializeObject(list, Formatting.None, timeConverter);
             }
            catch (Exception ex)
            {
                 
            }
}
------解决思路----------------------
你还是应该把时间戳值转化为 JSON 字符串 '0x00000000000007E1';然后C#调用存储过程时,可以直接拼到 SQL 中
String ts = json.时间戳字符串;
String sql = "mysp "+ts;
 
------解决思路----------------------

既然有Newtonsoft.Json.JsonConvert.SerializeObject方法序列化为json串,那么肯定也有相应的方法反序列化为字符串把。

而且我觉得,可以直接把 0x00000000000007E1做为一个字符串,就这样不用再次转换了
  相关解决方案