constr = "数据库连接字符串";
System.Data.OleDb.OleDbConnection ocon = new System.Data.OleDb.OleDbConnection(constr);
System.Data.OleDb.OleDbCommand ocmd = new System.Data.OleDb.OleDbCommand();
ocon.Open();
ocmd.Connection = ocon;
ocmd.CommandText = "insert into table(UpdateTime) values(@updatetime)";//UpdateTime为日期型字段
ocmd.Parameters.Add(new System.Data.OleDb.OleDbParameter("@updatetime",System.DateTime.Now));
ocmd.ExecuteNonQuery();
ocmd.Dispose();
ocon.Close();
----------------------------------------------
error, 数据类型不正确。。
大家谁用ACCESS,很久的问题了, 我一直以来都是把DateTime类型转换为String进行插入,更新。大家有好的解决方法吗????????

解决方案 »

  1.   

    好像access使用#2005-12-1#或者'2006-3-1'之类格式表示日期
      

  2.   

    但,msdn上说DBTYPE_DBTIMESTAMP与System.DateTime是对应的;
    难道微软错了吗????
      

  3.   

    1:我需要日期时间 例如2006-03-01 12:01:01;
    2:难道不能用.net的DateTime型直接更新数据库,而要用DateTime.Now.ToString()
      

  4.   

    1:其实我直接写System.DateTime.Now.ToString()就可以更新, 但这是字符型的;
    2:难道我要写“#”+System.DateTime.Now+“#”;
      

  5.   

    ocmd.Parameters.Add(new System.Data.OleDb.OleDbParameter("@updatetime",System.DateTime.Now));
    这句话错的
      

  6.   

    ocmd.Parameters.Add(new System.Data.OleDb.OleDbParameter("@updatetime",System.DateTime.Now));
    这句话错的
    --------------------------------
    那里错了, 语法没问题, 编译没问题。#号如何加???? 能给个准确的答案吗????
      

  7.   

    把ocmd.Parameters.Add(new System.Data.OleDb.OleDbParameter("@updatetime",System.DateTime.Now));这一句话
    改成
    oledb.Parameters.Add(new OleDbParameter("@DateTime",OleDbType.DBDate,8));oledb.Parameters["@DateTime"].Value=DateTime.Now.ToShortDateString();
      

  8.   

    楼上的我要的不是ShortDateString,
      

  9.   

    这里有源代码
    http://community.csdn.net/Expert/topic/4587/4587336.xml?temp=.4461328
      

  10.   

    我的操作系统是window2000 sp4,已经装了2000自带的IIS,但在浏览器中输入http://localhost打不开默认网页,在控制面板/管理工具中也看不到Internet 服务管理器,我的浏览器是IE6。请指点一下。