我认为转换为datetime是不行的。SQL中timestamp的兼容形式是binary(8),实际数值更象一个会自动增加的8字节的数组。所以你试试转换为字节数组看可不可以。我用vb6的时候就是将它转换为字节数组的,不过只是读取,没试过更新。timestamp每次在更新记录时都会自动更改,我还是第一次看到需要更新此类型字段的,而且你插入后的字段值是否是你设置的还很难说。

解决方案 »

  1.   

    一个表只能有一个 timestamp 列。每次插入或更新包含 timestamp 列的行时,timestamp 列中的值均会更新。这一属性使 timestamp 列不适合作为键使用,尤其是不能作为主键使用。对行的任何更新都会更改 timestamp 值,从而更改键值。不能手工
      

  2.   

    是呀,timestamp 是数据库的时间戳
      

  3.   

    我是往数据库里新增一条记录,按大家说的,没有设置timastamp字段的值,插入记录成功。
    在数据库里显示的是<Binary>
    那我读取timestamp字段出来时,怎样把这个值读出来显示在textBox框中?怎样写啊?
    格式是yyyy-mm-dd hh:mm:ss吗?
      

  4.   

    你可以在读出时用Convert(Bigint,timestamp) as timestamp把时间戳转成Bigint类型.
    SQL2k的时间戳和别的数据库不同,不是日期型,是兼容Binary(8)(就象Bigint),
    它是用数据库的全局变量@@DBTS来作时间戳的,实际上是一个行版本号.