请教——如何将字符串“0800”转为MSSQL2K中的一个时间字段“08:00”,谢谢!!!!C#或VB.NET皆可

解决方案 »

  1.   

    string str="0800";
    str=str.Insert(2,":");
      

  2.   

    我需要整个做法——从字符串到数据字段,仅仅是字符串的操作我没有问题,只是总不能成功写入MSSQL......
      

  3.   

    而且我的INSERT操作是写在SP中的,用EXEC
      

  4.   

    string dtime="08"+":"+"00";
    SqlCommand sqlcmd=new SqlCommand ("update login set date1='"+Convert.ToDateTime (dtime)+"' where id='2001005'",sqlcon);
      

  5.   

    用的时候再格式化成时分就行了:
    str = Convert.ToDateTime(str).ToString("HH:mm");
      

  6.   

    再重复一下,我现在想知道的是从字符串(hhmmss)到数据库字段(格式:hh:mm:ss)的整个过程
      

  7.   

    想告诉这位朋友,在Sql里,是不能把不同类型的数据插入与此不同的字段上去的建议你一下,你可以把想显示时间的字段的类型改成字符型,如Varchar 然后到后台去格式化时间比如:  string getTimeNow=DateTime.Now;
      //得出来时间格式是: YYYY-MM-DD HH:MM:SS
      //你想得到的是:(时分)的形式 也是就是HH:MM的部分
    //我们可以这样做:
      string[] getHHMMSS=getTimeNow.Split(' '); //从空格处断开
      //所以现在HHMMSS的值为getHHMMSS[1];第二部分
      //我们再分
      string splitHHMMSS=getHHMMSS[1].ToString().Split(':'); //以":"为分隔符
      //现在就可以得  (时分)的格式了
      string getHHMM=splitHHMMSS[0].ToString()+":"+splitHHMMSS[1].ToString();
     //getHHMM就是你想要的(时分)格式时间了
     //再把这个时间添加进数据库里(就是前面讲的,改成字符类型的字段) Email:  [email protected]
      

  8.   

    如只存时间:hh:mm:ss,可能不行的,因为Convert.todatetime后会自动完成日期的,不过楼主,在你取这个字段时,只要这样:string.format("datetime",{0:t}),就只取出datetime中的hh和mm
      

  9.   

    sql里,只有datetime类型字段,如果需要保存的话,日期部分一定有的,自己读取的时候处理一下就好了,除非使用varchar类型