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