1.sqlserver 里设定日期类型字段(8位),通过应用程序访问添加后日期后面居然出现小时,如2008-08-26 10:23,请问怎么控制才不出现小时分钟?2.编号设定为自动增加,库被清空后通过程序添加记录编号却接着以前的顺序递增,我的目的是使他从新编号如从1号开始?帮忙,谢谢!

解决方案 »

  1.   

    1,在查询日期字段时转换数据:
       select convert(varchar(10),日期字段,120) as 日期 from 表名
    2,清空表用如下语句:
       truncate table 表名
      

  2.   

    1:有一个函数 叫FORMAT()  你可以用下 msgbox format(now,"yyyy-MM-dd")  看看就知道了
      

  3.   

    忘说了,我用的是DTPicker这个日期控件,怎么也会出现小时之类的呢!
      

  4.   

    你在向 DTPicker 的 Value 赋值时,时分秒非零,那么就算修改日期也会保留相同的时分秒。
    可以用 DateValue 函数丢弃时分秒部分;当然最好的方式就是从一开始就不要产生时分秒,SQL Server 中用下面的方式取没有时分秒的日期
    Convert(datetime, Convert(char(8),GetDate(),112), 112)
      

  5.   


    查看DTPicker的Format属性,并修改它
      

  6.   

    我前面已经提到了,DTPicker控件起始将日期值分为“年月日时分秒”6个部分,编辑时只负责修改format中相关的部分,其它部分保留原值不变。
    比如默认情况下只编辑“年月日”部分,下面的代码可以看出无论如何编辑,“时分秒”部分是不变的。
    Option ExplicitPrivate Sub DTPicker1_Change()
        Debug.Print DTPicker1.Value
    End SubPrivate Sub Form_Load()
        DTPicker1.Value = Now()
        Debug.Print DTPicker1.Value
    End Sub
    所以最好是一开始就保证“时分秒”均为0,要么用我在前面提到的保证字段值“时分秒”为0,要么如下用 DateValue 函数
    Option ExplicitPrivate Sub DTPicker1_Change()
        Debug.Print DTPicker1.Value
    End SubPrivate Sub Form_Load()
        DTPicker1.Value = DateValue(Now())
        Debug.Print DTPicker1.Value
    End Sub