string insCmd="insert DSysUsers (UserName,Pwd,office,Regtime,isAdministrator)";insCmd+="values('"+TextBox1.Text+"','"+TextBox2.Text+"','"+TextBox4.Text+"',getdat(),0)";

SqlCommand objInCommand=new SqlCommand(insCmd,objConnection);我在使用以上语句向SQL Server 2000数据库插入记录的时候,(Regtime声明为datetime的),调用了一个getdat()的函数。而在数据库里的存储格式为“2005-3-10 17:40:04”
如何才能去掉 时分秒。因为我搜索时按 年月日 搜不可能精确到 时分秒。还有一个问题就是在 .aspx的文件下(使用的是C#)定义: DateTime time=DateTime.Now;
也是一种“年月日+时分秒”的格式,如何定义才能够使它只包含 年月日,从而使我查找以上数据库记录时可以精确到日。

解决方案 »

  1.   

    有分秒也不影响你查询呀.修改一下你的SQL语句一样可以的.select * from Table where year(Datetime)=2005 and month(Datetime)=3 ....
      

  2.   

    getdate换成
    cast(year(getdate()) as varchar(4))+'-'+cast(month(getdate()) as varchar(2))+' -'+cast(day(getdate()) as varchar(2))
    但还是有00:00:00
      

  3.   

    DateTime.Now.ToShortDateString();
      

  4.   

    DateTime.Now.ToShortDateString();
    DateTime.Now.ToString("yyyymmdd");
      

  5.   

    如果是这样,在数据库中把DateTime 类型改成String 
    然后把你要插入数据库的时间格式化,
    DateTime.Year+"-"+DateTime.month+"-"+DateTime.Day;
    插入数据库即可
    但是要查询还要转化
      

  6.   

    用getdat()插入数据库没有什么问题的,也就是在查询时你的select语句要注意一下
      

  7.   

    CONVERT(CHAR(10),字段名,111)
    照这个试试看。参数可以根据需要变换
      

  8.   

    MessageBox.Show(DateTime.Today.ToShortDateString());
      

  9.   

    dateTimePicker1.Value.Date.ToString();
      

  10.   

    DateTime time = DateTime.Now;
    time.ToShortDateString()
      

  11.   

    再请教coldice(ice)
     select * from Table where year(Datetime)=2005 and month(Datetime)=3 ....
    但我的传入参数是@time(是一个C#的DateTime类型)我怎么写上面的语句?
      

  12.   

    回复 WTaoboy(SnowMans)
    为什么MessageBox用不了。
    我的环境是在Microsoft Visual C# .NET下运行
      

  13.   

    回复 ytplh0704(颜韬)
    DateTime time = DateTime.Now;
    time.ToShortDateString();
    显示出的结果也一样啊
      

  14.   

    insCmd+="values '"+TextBox1.Text+"','"+TextBox2.Text+"','"+TextBox4.Text+"','"+DateTime.Now().ToString("d")+"',0)";
      

  15.   

    不好意思,写错了
    把Now()改为NowinsCmd+="values '"+TextBox1.Text+"','"+TextBox2.Text+"','"+TextBox4.Text+"','"+DateTime.Now.ToString("d")+"',0)";