C# 日期插入access数据库

c#Access数据库中批量插入大量记录的方法 最近心情比较low,年纪大了,接触的开发工作越来越少,脑袋反应越来越慢,所以,开博客纪念吧 【背景】 最近有同事离职,我把他经手的项目接了过来,其中有一个功能,经过长时间运算以后,产生了17W条左右的记录,一次性保存到数据库中,每次界面要卡顿1分钟多,很是闹心,决定修改一下 【基本情况】 c#、nhibernate、Access数据库 【解决思路】 1、据说第一版本的实现,采用 阅读详情

一 查询插入数据库中的日期

在Access数据库中,关于查询某一个时间段内的数据的问题(有字段属性为 时间/日期 类型的),容易出现的问题就是“#”符号是否缺少了……
C#程序中:access数据库在时间段内查询数据和SQL server中大有出入,access数据库时间字段值两边要加‘#’,而SQL server中则不需要加'#'
 
Access数据库 时间段内查询数据
//---------------
string startday;//起始日期/时间
string endday;//终止日期/时间
string sqltext = "SELECT SUM([Money]) AS 合计 FROM MoneyType WHERE ([Date] Between  #"+startday+"# And #"+endday+"#)";

二 C#获取系统时间

DateTime 数字型
System.DateTimecurrentTime=new System.DateTime();  
 取当前年月日时分秒      currentTime=System.DateTime.Now;  
 取当前年     int 年=currentTime.Year;  
 取当前月     int 月=currentTime.Month;  
 取当前日     int 日=currentTime.Day;  
 取当前时     int 时=currentTime.Hour;  
 取当前分     int 分=currentTime.Minute;  
 取当前秒     int 秒=currentTime.Second;  
 取当前毫秒   int毫秒=currentTime.Millisecond; (变量可用中文)

 取中文日期显示——年月日时分 string strY=currentTime.ToString("f"); //不显示秒 
 取中文日期显示_年月       string strYM=currentTime.ToString("y");
 取中文日期显示_月日     string strMD=currentTime.ToString("m"); 
 取当前年月日,格式为2003-9-23  string strYMD=currentTime.ToString("d"); 
 取当前时分,格式为14:24       string strT=currentTime.ToString("t"); 

DateTime.Now.ToString();//获取当前系统时间 完整的日期和时间 
DateTime.Now.ToLongDateString();//只显示日期 xxxx年xx月xx日 是长日期 
DateTime.Now.ToShortDateString();//只显示日期 xxxx-xx-xx 是短日期 
//今天       DateTime.Now.Date.ToShortDateString(); 
//昨天       DateTime.Now.AddDays(-1).ToShortDateString();
//明天       DateTime.Now.AddDays(1).ToShortDateString();  
//本周(注意这里的每一周是从周日始至周六止) 
DateTime.Now.AddDays(Convert.ToDouble((0 - Convert.ToInt16(DateTime.Now.DayOfWeek)))).ToShortDateString(); 
DateTime.Now.AddDays(Convert.ToDouble((6 - Convert.ToInt16(DateTime.Now.DayOfWeek)))).ToShortDateString();  
//上周,上周就是本周再减去7天 
DateTime.Now.AddDays(Convert.ToDouble((0 - Convert.ToInt16(DateTime.Now.DayOfWeek))) - 7).ToShortDateString();
DateTime.Now.AddDays(Convert.ToDouble((6 - Convert.ToInt16(DateTime.Now.DayOfWeek))) - 7).ToShortDateString(); 
//下周  本周再加上7天 
DateTime.Now.AddDays(Convert.ToDouble((0 - Convert.ToInt16(DateTime.Now.DayOfWeek))) + 7).ToShortDateString();    
DateTime.Now.AddDays(Convert.ToDouble((6 - Convert.ToInt16(DateTime.Now.DayOfWeek))) + 7).ToShortDateString(); 
//本月    本月的第一天是1号,最后一天就是下个月一号再减一天。 
DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + "1"; //第一天 
DateTime.Parse(DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + "1").AddMonths(1).AddDays(-1).ToShortDateString();//最后一天

另一种方法: 
DateTime now = DateTime.Now;  
DateTime d1 = new DateTime(now.Year, now.Month, 1); //本月第一天 
DateTime d2 = d1.AddMonths(1).AddDays(-1); //本月最后一天 
DateTime.Now.DayOfWeek.ToString();//英文星期显示,Wednesday 
(int)DateTime.Now.DayOfWeek     数字,若是周三,结果对应为3
DateTime.Now.ToString("dddd", new System.Globalization.CultureInfo("zh-cn")); //中文星期显示 
DateTime.Now.ToString("dddd");//中文星期显示 

DateTime.Now.ToString("dddd,MMMM,dd ,yyyy", new System.Globalization.DateTimeFormatInfo());//显示日期格式Friday,July, 01,2009 
DateTime.Now.ToString("dddd,ddMMMM,yyyy") //输出   星期三,30 一月,2008

datetime类型在tostring()format的格式设置 
   参数format格式详细用法   
      格式字符 关联属性/说明   
 d ShortDatePattern  
 D LongDatePattern 
 f 完整日期和时间(长日期和短时间)  
 F FullDateTimePattern(长日期和长时间)   
 g 常规(短日期和短时间)   
 G 常规(短日期和长时间)   
 m、M MonthDayPattern  
 r、R RFC1123Pattern  
 s 使用当地时间的 SortableDateTimePattern(基于 ISO 8601)  
 t ShortTimePattern  
 T LongTimePattern 
 u UniversalSortableDateTimePattern 用于显示通用时间的格式   
 U 使用通用时间的完整日期和时间(长日期和长时间)   
 y、Y YearMonthPattern 


列出了可被合并以构造自定义模式的模式。这些模式是区分大小写的    
 d 月中的某一天。一位数的日期没有前导零。   
 dd 月中的某一天。一位数的日期有一个前导零。  
 ddd 周中某天的缩写名称,在 AbbreviatedDayNames 中定义。   
 dddd 周中某天的完整名称,在 DayNames 中定义。  
 M 月份数字。一位数的月份没有前导零。   
 MM 月份数字。一位数的月份有一个前导零。  
 MMM 月份的缩写名称,在 AbbreviatedMonthNames 中定义。  
 MMMM 月份的完整名称,在 MonthNames 中定义。  
 y 不包含纪元的年份。如果不包含纪元的年份小于 10,则显示不具有前导零的年份。  
 yy 不包含纪元的年份。如果不包含纪元的年份小于 10,则显示具有前导零的年份。  
 yyyy 包括纪元的四位数的年份。  
 gg 时期或纪元。如果要设置格式的日期不具有关联的时期或纪元字符串,则忽略该模式。 
 h 12 小时制的小时。一位数的小时数没有前导零。   
 hh 12 小时制的小时。一位数的小时数有前导零。   
 H 24 小时制的小时。一位数的小时数没有前导零。   
 HH 24 小时制的小时。一位数的小时数有前导零。

c#连接Access(含有插入日期类型)   using System;using System.Collections.Generic;using System.Text;using System.Data;using System.Data.OleDb; namespace We_Are_AA_CSharp_ACCESS_{    class BuyThingTable    { 阅读详情

相关推荐

C#创建Access数据库和数据表

1. 创建Access数据库 ADOX.Catalog catalog = new ADOX.Catalog(); //创建Library数据库 catalog.Create("Provider = Microsoft.ACE.OLEDB.12.0;Data Source = .\\Data\\Student.accdb;Jet OLEDB:Database Password = 123456"

子丰的博客 8886

C#数据库Access数据库插入日期格式数据

C#数据库Access数据库插入日期格式数据 1.Access数据库中定义的字段数据类型: 日期/时间 2.插入数据时候如果字段名为关键字,如Time,需要在字段名加上一个*[Time]*,否则会报数据不匹配的错误。 示例代码: string time="2020/04/03 13:54:00"; string insertCmd = string.Format("INSERT INTO...

u010983633的博客 3778

增量编码器资讯大全

增量编码器是什么 增量式编码器是将位移转换成周期性的电信号,再把这个电信号转变成计数脉冲,用脉冲的个数表示位移的大小,按照工作原理编码器可分为增量式和绝对式两类。 增量式编码器是将位移转换成周期性的电信号,再把这个电信号转变成计数脉冲,用脉冲的个数表示位移的大小。 编码器是把角位移或直线位移转换成电信号的一种装置。前者称为码盘,后者称码尺.按照读出方式编码器可以分为接触式和非接触式两种.接触式采...

kindele的博客 5990

C#Access插入时间类型注意的问题

由于time在数据库中保留字,故插入时要加[ ].同时,要注意权限问题,acess数据库要有读写权限。在调试程序的时候要把access关闭了,否则不具有写权限,是插入不进去的。例:string   time=DateTime.Now.ToString("yyyy-MM-dd   HH:mm:ss");        insert   into   tablename   (num,

cychai的专栏 5255

C#Access数据库插入日期时间

C#Access数据库插入日期时间C#Access数据库插入日期时间时, 相应参数OleDbType设置为OleDbType.DBTimeStamp ,Value使用String类型 如OleDbParameter parm = new OleDbParameter("@日期时间", OleDbType.DBTimeStamp);parm.Value = Date...

1254

C#Access数据库的操作

下面以Access数据库为例说明,用C#的DataSet类访问数据库的一些操作方法。 操作涉及的主要C#类有: DataSet:对应数据库表的一个集合,实际上是数据库表在内存中的一个缓存 DataTable:对应数据库表,是数据库表行的集合 DataRow:对应数据库表行 OleDbConnection:建立数据库连接 OleDbDataAdapter:由数据库生成DataSet...

weixin_34143774的博客 555

c# mysql 日期,C#Access数据库插入日期时间

C#Access数据库插入日期时间C#Access数据库插入日期时间时, 相应参数OleDbType设置为OleDbType.DBTimeStamp ,Value使用String类型 如OleDbParameter parm = new OleDbParameter("@日期时间", OleDbType.DBTimeStamp);parm.Value = DateTime.Now.ToS...

weixin_42508241的博客 429

C# MS Access数据库日期字段插入空值

private void button1_Click(object sender, EventArgs e) { OleDbConnection conn = new OleDbConnection(DAL.DBConnectionString.ConnectString); OleDbCommand com = ne...

weixin_30588827的博客 159

Visual C#中的DateTimePicker的使用简介

C#中控件是很有好的,但是有一些控件使用起来有一点不方便, DateTimePicker控件用着很方便,但是要根据自己的需要取值还是不那么容易.        本人在做毕业设计时,要用DateTimePicker控件取日期,插入到一个DateTime属性的ACCESS表的列中,同时要把两个取值相差得出天数,插入到一个数据型列中,但是在编写过程中总是出错,我的代码如下:   string in

烽火戏诸侯 2943

c#疑难(二)之Access数据库日期数据类型的使用方法和其日期函数简介

AccessAccess 数据库的Date格式字段值必须由一对 # 符号标识,即当Access日期常量比较的时候,日期常量应由##包围。举例一:查找2001-01-01至2001-01-31(即该年一月份)生日的客户资料:1.Select * From Customer Where BirthDayBetween #2002-01-01# and #2002-01-31#

kkfdsa132的专栏 9794

ACCESS中的"时间/日期"字段插入DateTime.Now出错

ACCESS中的"时间/日期"字段插入DateTime.Now时出现“标准表达式中数据类型不匹配。”错误的解决办法: 在使用下面的代码向Access数据库中添加数据的时候,如果是日期字段,则会出现"标准表达式中数据类型不匹配。"的错误,这可能是C#中的日期类型无法直接转换成Access中的日期类型OleDbType.DBDate所致: string ConnectionString =...

weixin_34321977的博客 610

C# access日期查询加#

C# access日期查询加#if (((string)((ComboBoxItem)cmbField.SelectedItem).Value).Equals("System.DateTime")){                    //判断日期的;                                     if (checkBox1.Checked == true)   

c 2264

MFC下ADO访问ACCESS插入日期

项目需要,需要向数据库插入日期类型数据,代码如下: _bstr_t vSQL; vSQL = "INSERT INTO TABLENAME VALUES('"+ strDateTime +")"; m_AdoQX.ExecuteSQL(vSQL); strDateTime格式为 strDateData.Format("#%d-%d-%d#",time.GetYear(),time

疯狂开发吧 638

c# 连接Access数据库,以及增删改查操作(OleDb)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、简易连接数据库(未封装)二、使用步骤1.引入库2.读入数据总结 前言 学习使用的记录 一、简易连接数据库(未封装) string url = Application.StartupPath + "\\database\\DatabaseBook.mdb"; //数据库路径 string password = ""; //密码 OleDbConnection conn =

qq_41373415的博客 1953

C#如何将datagridview中数据更新到access数据库

C#如何将datagridview中数据更新到access数据库? 以本人开发的软件通用题库管理及题库练习软件为例,在编辑好题库文件后,直接将题库粘贴到datagridview控件中,然后更新到access数据库里。 具体实现步骤如下: 一、停止编辑datagridview dataGridView1.EndEdit(); 二、新建一个新的table存放datagridvi...

TING说 4223

access插入日期遇到的问题

我练习时候,用了access数据库,其中又日期字段.我用程序插入时间的时候发现:1.插入 2007-4-9 1:15:15 这种格式数据,得有个格式:java.util.Date now = new java.util.Date();SimpleDateFormat f=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); String time=f.forma...

java-he 624

又是Access做怪,DateTime类型操作失败

ACCESS时间日期字段插入DateTime.Now出现“标准表达式中数据类型不匹配。” 原文转自笨小孩的荒谬人生http://www.cnblogs.com/alexwang1987/archive/2010/05/08/1730593.html在使用下面的代码向Access数据库中添加数据的时候,如果是日期字段,则会出现“标准表达式中数据类型不匹配。”的错误,这可能是C#中的日期类...

weixin_30409849的博客 179

VC++对Access数据库的操作(查询、插入、更新、删除等)

Microsoft Office Access是由微软发布的关系数据库管理系统。Access数据库常应用于小型软件系统中,比如:生产管理、销售管理、库存管理等各类企业管理软件,其最大的优点是:简单易学、使用灵活。 下面我们结合实例来详细说明,在VC++ MFC中,如何使用Access数据库文件进行数据的存储,如何实现对数据库中数据的查询、插入、更新和删除等操作。 (实例可在我的CSDN资源中下

小木头工作室 2万+

从DIY桌面CNC到工业机器人:手把手教你用LinuxCNC搭建自己的第一台数控系统(基于Xenomai实时补丁)

本文详细介绍了如何使用LinuxCNC和Xenomai实时补丁搭建高性价比的数控系统,从硬件选型到实时系统构建,再到HAL硬件抽象层实战和G代码加工,手把手教你打造从DIY桌面CNC到工业机器人的完整解决方案。

weixin_28727975的博客 259

HIKVISION ISAPI_2.6-IPMD Service_HIKVISIONISAPI_HikvisionISAPI_源

HIKVISION ISAPI_2.6-IPMD Service

上一篇: 输入框中只能输入数字
下一篇: 年轻?大有所为!——实战一
麦田JOY
博客等级 码龄16年 2粉丝 10原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值