timestamp 这种数据类型表现自动生成的二进制数,确保这些数在数据库中是唯一的。timestamp 一般用作给表行加版本戳的机制。存储大小为 8 字节。不可为空的 timestamp 列在语义上等价于 binary(8) 列。可为空的 timestamp 列在语义上等价于 varbinary(8) 列。
而在sql中binary和varbinary均不能进行显式转换,所以数据选出来后只能在delphi进行处理显示的问题了

解决方案 »

  1.   

    TimeStamp是SQLServer中的一个特殊数据类型,现已建立了一张包含该数据类型的字段,要求在Delphi运行时能读出其值,例如:
      现建立一存储过程如下:
    CREATE PROCEDURE HHHHH(@AdvItemCode Char(7),@AdviceKind Char(12),@TimeFlag Binary(8)) ASUpdate RunAdvInfoList Set AdviceKind =@AdviceKind  Where AdvItemCode=@AdvItemCode
      And tsequal(TimeFlag,@TimeFlag)
      在运行时用Parambyname('@TimeFlag').As?:=Query.FieldByName('TimeFlag').As?注:Query中所连接的表字段TimeFlag的数据类型即为Timestamp类型.
    请多多指教!
      

  2.   

    用Parambyname('@TimeFlag').Value:=Query.FieldByName('TimeFlag').Value试一下
      

  3.   

      for I := 1 to 2000 do begin
        ModifySql.Add(Format('update table1 set a = %s  where b = %s;', [QuotedStr(aValue), QuotedStr(bValue)]));
        {如果是TQuery就ExecSQL}
      end;
      

  4.   

    小虫,你好。谢谢你,请留下你的Email、OICQ联系。