关于 ACCESS 中插入操作的相关内容

1、ACCESS中与 数据类型对应的关系为

类型的映射如下:
数字->OleDbType.Integer
文本->OleDbType.VarChar
备注->OleDbType.VarChar
日期/时间->OleDbType.DBTimeStamp

日期/时间->OleDbType.Date

OLE 对象 ->OleDbType.Binary  //用来保存二进制文件

2、在这里需要特别强调的是 关于 时间的操作。这是ACCESS的硬伤,这么多年来一直没有很好的解决这个问题

   (1)如果使用OleDbType.Date来插入记录,倒是没有什么问题。插入语句如下:

               com.CommandText = "insert into timu(riqi,fangfa) values(@riqi,@fangfa)";

                com.Parameters.Add(new OleDbParameter("@riqi", OleDbType.Date)).Value = timu.TimuDateTime; //这里的TimuDateTime是一个DateTime类型的数据
                com.Parameters.Add(new OleDbParameter("@fangfa", OleDbType.VarChar)).Value = timu.TimuFangfa;

                DataConn.Open();
                com.ExecuteNonQuery();

                DataConn.Close();

    (2)如果使用 OleDbType.DBTimeStamp 就有所不同了。它的参数的Value的值必须是一个字符串。如下面的格式才能用。

        

               com.CommandText = "insert into timu(riqi,fangfa) values(@riqi,@fangfa)";

                com.Parameters.Add(new OleDbParameter("@riqi", OleDbType.DBTimeStamp)).Value = timu.TimuDateTime.ToString("yyyy-MM-dd hh:mm:ss");
; //将日期与时间格式 转化成对应格式的字符串,这样就可以插入进去了。

                com.Parameters.Add(new OleDbParameter("@fangfa", OleDbType.VarChar)).Value = timu.TimuFangfa;

                DataConn.Open();
                com.ExecuteNonQuery();

                DataConn.Close();

 3、关于时间的其它相关问题,请参考

http://www.cnblogs.com/trampt/archive/2007/12/19/1006196.html

原文地址:https://www.cnblogs.com/lujin49/p/2130655.html