数据库 字段regtime =2007年04月16日11:07:47
我想读出来加一个月 再写进入   请问如何做  string无法转到 date时间
100分求救

解决方案 »

  1.   

    Dim sqlstr As String = "select regtime from userlogin where username='" & x & "'"
            Dim rs As Data.SqlClient.SqlDataReader = obj.execReaderSql(sqlstr)
           rs.read就是 2007年04月16日11:07:47
      

  2.   

    不知道你的regtime字段是何种类型??
      

  3.   

    update 表 set regtime=dateadd(mm,1,regtime)
      

  4.   

    如果是datetime好办,你这个类型
      

  5.   

    Dim soft As String
            soft = rs.Read
            rs.Close()
            soft = DateAdd(mm, 1, soft)
    mm类型未定义~~~
      

  6.   

    Dim sqlstr As String = "select regtime from userlogin where username='" & x & "'"
            Dim rs As Data.SqlClient.SqlDataReader = obj.execReaderSql(sqlstr)
           rs.read
      

  7.   

    是对datetime的类型,你用convert转换下,然后用那种方式加时间。
      

  8.   

    用SqlCommand对象执行这个SQL语句
    update 表 set regtime=cast(dateadd(mm,1,cast(regtime as datetime)) as varchar(30) )
      

  9.   

    viena(维也纳N02)  语法出错
    唉。还没解决。 
    从字符串转换为 datetime 时发生语法错误。
      

  10.   

    接分
    字符串到时间
    DateTime dt = DateTime.Parse("2007-01-17");
    加一个月
    dt = dt.AddMonths(1);
      

  11.   

    数据库 字段regtime =2007年04月16日11:07:47
    我想读出来加一个月 再写进入   请问如何做  string无法转到 date时间
    100分求救------------------------------------------------------------------------------------
    先把那个字段读到你的regtime(string类型的)中,然后自己写个函数
    datetime ConvertStringToNextMonth(string s)
    {
    string strDay = s.SubString(11);
    string strYear  = s.SubString(0,4);
    string strDay = s.SubString(8,2);
    int nMonth = (int.Parse(s.SubString(5,2)) + 1);
    string strMonth;
    if(nMonth < 10)
       strMonth = "0" + nMonth;
    else
       strMonth = nMonth;
    //在此处可以构造一个DateTime类型数据,返回,然后再写到数据库中
    }
      

  12.   

    先将regtime类型强制转换成datetime,
    convert.todatetime(regtime)
    再,regtime.AddMonths(1)
      

  13.   

    2007年04月16日11:07:47  转成2007-04-16 11:07:47串,就可以转成DateTime了吧,然后加10,
    然后转成原来格式,放回
    string aa = "2007年04月16日11:07:47";      
     DateTime baa=DateTime.Parse(aa.Replace("年", "-").Replace("月", "-").Replace("日", " "));
    你要的值 baa.AddMonths(1).ToString("yyyy年MM月dd日hh:mm:ss");是这个意思么
    个人见解,共同学习
     
      

  14.   

    先骂一下DBA
    我做的话.
     写一个方法把  STRING 2007年04月16日 转换成 DATATIME 2007-04-16
    (这里要字符串的拆分合并,有点点逻辑难度)
     DATATIME类型做月数的调整很容易,LZ不会我就没办法了
     再写一个方法把 DATATIME 2007-04-16 转换成 STRING 2007年04月16日
    写进数据库OK!!!我这里没.NET的环境,操作不了,不好意思
      

  15.   

    string date=dr["regtime"].ToString();
    DateTime time=Convert.ToString(date);time.AddMonths(1);
      

  16.   

    Sorry.上面写错了!
    string date=dr["regtime"].ToString();
    DateTime time=Convert.ToDateTime(date);time.AddMonths(1);
      

  17.   

    1、建议你先把字段改为DateTime类型的,否则将来的问题会更多。
    2、显示的时候可以再通过DateTime的ToString方法转换成那种格式
    3、可以使用正则表达式解析你的那个字符串提取年月日等信息再转换为DateTime类型。
    4、或者你也可以尝试DateTime.ParseExact方法,如果你的.NET Framework是2.0。
    5、代码请自己写,不懂多查帮助,上面的信息已经足够你从帮助中找到所有的东西了。
      

  18.   

    谢谢 Ivony 提醒 
    受教了其实 大家都提了很多的办法 主要还是思路问题谢谢大家 结贴