SQLite Datetime 类型的插入与读出

SQLite库笔记:日期和时间函数 介绍SQLite的7个日期和时间函数,以及示例展示 阅读详情

本文转载自 http://www.tntserver.cn/article.asp?id=41

 

今天遇到个问题.
首先插入一个DataTime格式的数据:
string sql="insert into [table] (date_time) values('" + date_time.ToString() + "'";
执行如上命令.插入没有报告错误.

但是,我又用一条命令读取时:
string sql="select * from [table];
.....
IDataReader dr=cmd.ExecuteReader();
...
object obj=dr["data_time"];//在这里出错了,说是无法转换为DataTime格式,字符串不正确

--------------------------------------------------------------------------------------------

我找了一天的教程,找了一天的google.
答案是:sqlite用的全球时间UTC,要用datetime()函数转换若干.
我也试了,发现好像运行的不像教程上说的那样!

实在没办法,来硬的吧,硬着头皮看源代码吧.
他的继承格式大致如下:
SqliteConvert-->SqliteBase-->Sqlite3
在SqliteConvert中定义了转换格式,上面说的很明白,默认DataTime格式为 ISO8601
然后,SqliteConnection 用到了Sqlite3.

我就研究了SqliteConnection的源代码,发现Sqlite不是用的什么全球的UTC时间.
其实就是用的国际标准ISO 8601标准.

那我就着手看怎么才能让我的程序和sqlite兼容.
我生成的字符串和sqlite的有什么不同.

最后看了msdn上对iso 8601的描述:(http://msdn.microsoft.com/zh-cn/library/ms187819.aspx)
给出了字符串示例:
* 2004-05-23T14:25:10
* 2004-05-23T14:25:10.487

而我生成的字符串 data_time.ToString()和他的有一个不同的地方.
就是没有那个T....(其实我也不明白那个T有什么关键作用,反正Access,MySql,MsSql都没这问题的)

我又在想,如果我用一个T会如何?
就尝试.用data_time.ToString("s");这种方法转换成 iso 8601标准字符串格式

结果我吃屎吃了个酱板头(无锡话,意思是运气好),竟然成功了.

如下:
string sql="insert into [table] (date_time)" values('" + date_time.ToString("s") + "'";

这样,问题就解决了,希望大家能够看到此贴,并发扬光大,到处流传,这样才能发展Sqlite的普及率.

附注:
我起先研究了BBSMAX的Sqlite数据库.我认为这个论坛会有好的解决方法.
但我错了.其实没有.bbsMax用了varchar代替DateTime格式.
我也照做了,但是当我用到 select * from [table] where date_time > '2006-1-1' and date_time< '2008-1-1'
类似这样的语句,想查询一个中间的时间类型时,语法错误.

所以,到头来,我还是从头开始研究DateTime格式.字符串格式虽然能够凑合,但是却没有那么方便和强大.

基于树莓派与BME280/BH1750传感器搭建本地个人气象站 物联网数据采集是连接物理世界与数字世界的核心技术,其原理是通过各类传感器将环境参数转化为电信号,再经由微控制器进行模数转换与处理。这项技术的价值在于实现对物理环境的精准、实时、本地化监测,摆脱对云端服务的依赖,在智能家居、环境监测、农业种植等场景中具有广泛应用。本文聚焦于个人气象站的构建,详细阐述了如何利用树莓派作为硬件中枢,结合高精度的BME280温湿压传感器与数字光照传感器BH1750,通过Python脚本与SQLite数据库,搭建一套稳定、低成本的环境数据采集与可视化系统,并深入探讨了数据流水线设计、 阅读详情

相关推荐

R语言构建轻量级实时推文采集管道实战

Twitter API数据采集是社交数据分析的基础能力,涉及API认证、JSON流解析、时区处理与结构化存储等核心环节。其技术原理在于将HTTP流式响应转化为可分析的时序文本数据,并通过本地数据库持久化保障数据完整性。R语言凭借rtweet包对OAuth 2.0认证、POSIXct时间自动转换及ndjson容错解析的深度封装,在单机小规模场景中展现出远超通用语言的工程效率与稳定性。该方案特别适用于教学实验、热点事件快速监测、学术原型验证等强调‘可落地’的轻量级应用需求,为数据工程师和研究者提供一条从开发者账

diaomeijiao3430的博客 520

Sqlite DateTime 类型 读取和写入格式 注意的问题

本文转载自 http://www.tntserver.cn/article.asp?id=41 今天遇到个问题. 首先插入一个DataTime格式的数据: string sql="insert into [table] (date_time) values('" + date_time.ToString() + "'"; 执行如上命令.插入没有报告错误. 但是,我又用一条命令读...

weixin_30760895的博客 891

用SOLIDWORKS从零画一个履带机器人,手把手教你搞定底盘和传动

本文详细介绍了如何使用SOLIDWORKS从零开始设计履带式机器人,重点讲解底盘结构优化和传动系统设计的关键步骤。通过七个阶段的实战指南,包括前期规划、底盘建模、驱动系统装配、履带生成、动态模拟等,帮助工程师和爱好者掌握履带机器人的核心设计技巧,提升地形适应能力和动力效率。

weixin_30872499的博客 632

sqlite数据类型 datetime处理

手机应用程序中Sqlite时间函数及时间处理是本文要介绍的内容,主要讲解了Sqlite时间函数及时间处理的表现方式,我们来看详细内容。这篇文章是根据 SQLite 官方 WIKI 里的内容翻译,如果有什么翻译不当的地方希望大家指出,毕竟我的英文水平实在很差。SQLite包括以下五个时间函数: date(日期时间字符串, 修正符, 修正符, ……) time(日期时间字符串, 修正符, 修正符, …

红叶岭谷的博客 6045

robot framework循环读取excel表操作

robot framework循环读取excel表操作 1、安装excellibrary,注意python3.7版本,需安装:robotframework-excel,robotframework-excellibrary-xwfintech 注意:网上有很多excel处理的,都是基于python2.7的,还有一些对python3以上都是修改包的方式,其实都不需要,在pip官网上有python3以上的excellibrary,名称是robotframework-excellib 2.0.0,但是该包关键字不

余墨的博客 1319

ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: NO)解决办法

问题:ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: NO) 很久没用这台电脑的mysql了,今天需要连接数据库,启动数据库报错: ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: NO) 解决方法: 查阅资料后知道了,应该使用已知的用户名和密码登陆 mysql -u root -p 然而密

一个超会写Bug的程序猿的博客 43万+

SQLite使用datetime函数

然后,我们插入了一个示例记录,并查询了该记录的日期时间。接下来,我们使用UPDATE语句和datetime函数将当前记录的日期时间增加了30分钟,并再次查询了更新后的日期时间。请注意,datetime函数的第一个参数是要进行操作的日期时间值,第二个参数是一个字符串,用于指定要添加或减去的时间间隔。在示例中,我们使用了’+30 minutes’来表示要添加的时间间隔为30分钟,如果我们想要减去时间间隔,可以使用’-30 minutes’。我们可以结合这两个函数来实现在日期时间上添加分钟的操作。

Pei_hua100的专栏 1291

强化学习代码实现PPO

梯度更新:通过截断(clipping)限制策略更新幅度,避免策略变化过大影响稳定性。首先是数据预处理,将相关数据(状态、采取的动作、状态奖励、下一个状态)放到gpu上。根据当前状态 state,利用策略网络生成每个动作的概率分布 probs。2. 修改了策略模型的输出,从每个动作的概率分布变成了动作的均值和方差。1. 修改了动作空间,离散空间变成了连续空间,使用正太分布来采样。3. 修改了动作的ratio的计算,从离散分布变成了正太分布计算。Update函数:通过经验缓冲数据来优化策略模型和价值模型。

wlxsp的博客 635

java 向sqlite插入时间_java – 如何在sqlite数据库中插入数据类型日期(yyyy-MM-dd)并在android中的两个日期之间检索数据...

我有一个Sqlite3数据库表,包含姓名,地址,出生日期详情.我想显示1990-01-01到1995-01-01的详细信息.但Sqlite3数据库仅存储以下数据类型.TEXTNUMERICINTEGERREALNONE任何人都有一些提示来存储和检索日期格式数据..?解决方法:使用此代码将日期转换为毫秒格式,并将其作为INTEGER类型存储到数据库中String someDate = "1995-0...

weixin_35724224的博客 697

【ArcGIS Pro微课1000例】0047:深度学习--棕榈树提取全流程

对汤加科洛瓦伊种植园每棵棕榈树的健康状况进行清查和评估,这需要花费大量的时间和劳动力。为简化此过程,将在 ArcGIS Pro 中使用深度学习模型来识别树木,然后根据植被绿度的测量值计算其健康状况。第一步是找到显示汤加科洛瓦伊的影像,该影像具有足够精细的空间和光谱分辨率来识别树木。获得此影像后,将创建训练样本并将其转换为可供深度学习模型使用的格式。为了让模型识别出它的查找任务,需要定义棕榈树的影像,以便识别相似的像素和树木大小。

智慧空间实验室 2207

如何为 Claude Code 配置代理与网络环境

那么大概率不是软件问题,而是。因为 Claude Code 是运行在终端里的,不是浏览器。

sg_knight的专栏 3479

[转]C# Sqlite DateTime 读取和写入格式错误的问题解决

今天遇到个问题.首先插入一个DataTime格式的数据:string sql="insert into [table] (date_time) values('" + date_time.ToString() + "'";执行如上命令.插入没有报告错误.但是,我又用一条命令读取时:string sql="select * from [table];.....IDataReader dr=...

weixin_30764137的博客 536

SAP MM ME21N保存前检查增强

想在ME21N保存前做一些数据检查, 可以做一个增强功能,  运行 CMOD 新增,   增强接口 输入 MM06E005  (  EXIT_SAPMM06E_012 ) ,在 NCLUDE ZXM06U43 .  里写代码功能。  例子如下: *&---------------------------------------------------------------------*

heng0757的专栏 1万+

sqlite3中的数据类型

大多数的数据库引擎(到现在据我们所知的除了sqlite的每个sql数据库引擎)都使用静态的、刚性的类型,使用静态类型,数据的类型就由它的容器决定,这个容器是这个指被存放的特定列。 Sqlite使用一个更一般的动态类型系统,sqlite中,值的数据类型跟值本身相关,而不是与它的容器相关。Sqlite的动态类型系统和其他数据库的更为一般的静态类型系统相兼容,但同时,sqlite中的动态类型允许它能做

KylinBL的专栏 1761

一站式讲解Wireshark网络抓包分析的若干场景、过滤条件及分析方法

本文详细讲解常用的抓包工具、抓包分析的网络场景、分析抓包时的多种过滤条件以及如何结合常用的协议去分析排查问题,给大家提供一个借鉴或参考。

dvlinker的技术专栏 5万+

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

SQLite中变化的地方(零碎笔记)

就是和平时用的jdbc的区别,比较零碎,遇到啥记录啥。 1、一般不用创建自增id列,而直接使用rowid; 2、不支持if exists,不过在where字句中可以使用exists; 3、数据类型是datetime的字段,缺省值可以设置成datetime(),而不是写成getDate(); 4、执行查询,返回的结果是Cursor,而不是jdbc中常用的ResultSet,不过二者差不多;

anod的专栏 867

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Python 中 SQLite 实战指南:从嵌入式数据库到高可靠本地存储

SQLite 是一种零配置、无服务、单文件的嵌入式数据库,其轻量级设计与 Python 的简洁哲学高度契合。它基于 ACID 事务和 WAL 日志机制实现数据一致性与并发读写能力,技术价值在于免运维、强可移植、低延迟——特别适合桌面工具、IoT 设备、爬虫缓存及教学项目等轻量级应用场景。作为 Python 标准库 sqlite3 模块的底层引擎,它无需额外安装即可开箱即用,天然支持参数化查询、外键约束(需手动启用)和内存数据库测试。本文聚焦 Python 开发者最常遇到的 WAL 模式配置、连接管理、类型映

weixin_30268071的博客 592

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

原生SQLite驱动实战:Python与R的高效SQL执行链路

SQL执行效率取决于底层驱动机制而非语法本身。SQLite作为零配置、ACID强一致的嵌入式数据库,配合原生驱动(Python sqlite3 / R DBI+RSQLite)可规避ORM抽象层带来的解析开销、类型隐式转换和调试黑盒问题。其核心价值在于直控连接、参数化绑定、B-tree索引优化及内存可控的游标操作,显著提升查询响应(实测快17倍)、增强错误可追溯性,并天然适配Jupyter快速验证、ETL脚本开发与BI工具底座构建等轻量级生产场景。本文聚焦SQLite原生驱动在Python与R双生态下的建库

weixin_33853827的博客 470

Godot C# SQLite实战:绕过GDScript直接操作数据库

数据持久化是游戏开发中的核心需求,通常涉及将游戏状态、玩家进度等信息存储到本地或远程数据库。SQLite作为一款轻量级、文件式的嵌入式数据库,因其零配置、跨平台和易于集成的特性,成为独立游戏和移动应用数据存储的热门选择。其原理是通过本地文件实现完整的SQL数据库功能,无需单独的服务器进程。在技术价值上,SQLite为开发者提供了关系型数据库的强大查询能力,同时保持了极低的资源开销。在应用场景中,它特别适合保存游戏设置、玩家存档、道具库存等结构化数据。对于使用Godot引擎且熟悉C#和.NET生态的开发者而言

weixin_33805992的博客 525

sqlte3数据类型

大多数的数据库引擎(到现在据我们所知的除了sqlite的每个sql数据库引擎)都使用静态的、刚性的类型,使用静态类型,数据的类型就由它的容器决定,这个容器是这个指被存放的特定列。 Sqlite使用一个更一般的动态类型系统,sqlite中,值的数据类型跟值本身相关,而不是与它的容器相关。Sqlite的动态类型系统和其他数据库的更为一般的静态类型系统相兼容,但同时,sqlite中的动态类型允许它能做

Tony_Wong的专栏 1095

Unity游戏开发:用SQLite替代PlayerPrefs构建安全高效的数据存储系统

在游戏开发中,数据存储是构建复杂系统的基石。传统文件读写或简单键值存储(如Unity的PlayerPrefs)在处理大量结构化数据、复杂查询和事务一致性时,往往面临性能瓶颈和安全风险。数据库技术通过其结构化查询语言(SQL)、索引优化和事务机制,为数据的高效管理与安全访问提供了标准解决方案。SQLite作为一款轻量级、嵌入式的关系型数据库,无需独立服务器,单个文件即可运行,完美契合客户端应用如单机游戏和移动应用的需求。其支持完整的SQL语法、ACID事务以及通过扩展实现数据加密,能有效解决数据篡改、窥探及复

weixin_30321709的博客 347

Qt C++泛型ORM实现:轻量级、类型安全的数据持久化方案

对象关系映射(ORM)是一种将面向对象编程语言中的对象与关系型数据库中的表进行映射的技术,它通过封装数据库操作,让开发者能够以操作对象的方式操作数据库,从而提升开发效率和代码可维护性。其核心原理是利用元编程技术,在编译期或运行时解析对象结构,自动生成对应的SQL语句,实现对象与表记录之间的转换。在C++开发中,尤其是在Qt框架下,ORM的价值尤为突出,它能有效解决直接编写SQL语句带来的繁琐、易错问题,同时避免引入重量级ORM库带来的依赖和性能开销。通过结合C++的模板元编程和Qt的元对象系统,可以在编译期

weixin_33892359的博客 419

微信防撤回技术实现:基于Python的本地消息备份与监控方案

在即时通讯领域,消息撤回功能为用户提供了纠错便利,但也带来了信息留存与追溯的挑战。其技术原理本质上是客户端在收到服务器指令后,对本地存储的特定消息记录进行标记或删除操作。从数据安全与自主管理的技术价值出发,实现本地消息的实时备份成为了一种有效的解决方案,广泛应用于需要留存关键沟通凭证的商务、法务及团队协作等场景。本文聚焦于微信平台,通过Python脚本结合文件监控与数据库解密技术,构建了一套非侵入式的防撤回系统。该方案利用watchdog库监控本地数据库文件变化,并通过解析注册表获取密钥解密SQLite数据

525

基于C++与MFC的仿QQ即时通信工具:从架构设计到实战开发

即时通信(IM)系统是现代网络应用的核心组件之一,其基础原理依赖于客户端/服务器(C/S)架构和可靠的网络传输协议。在技术实现层面,Socket网络编程是构建网络通信的基石,通过TCP长连接维持稳定的数据传输通道,并需妥善处理数据包的粘包与拆包问题以保障消息完整性。在Windows桌面开发领域,MFC框架作为经典的应用程序框架,为开发者提供了构建图形用户界面和处理消息循环的基础设施。将网络通信与UI框架结合,能够实现功能完整的桌面级应用,例如仿QQ的即时通信工具。这类工具不仅涉及网络模块,还需整合数据序列化

weixin_30444105的博客 435

时间黑客编程大赛练习卷全解析:时间算法与优化实战

算法是编程竞赛的核心,而时间相关的算法问题更是考察选手逻辑思维与工程实现能力的试金石。从时间字符串解析到区间调度,从事件驱动模拟到二分答案优化,处理时间数据不仅需要扎实的数据结构基础,更需要对时间复杂度的敏锐感知。在工程实践中,日程冲突检测、CPU任务调度、航线中转优化等场景,都考验着开发者对时间模型的建模能力。本文以“寻找时间黑客在线编程大赛”练习卷为例,拆解时间类算法题的解题套路,分析从暴力解法到高效优化的思维路径,帮助你成为真正的“时间黑客”。

weixin_34357436的博客 411
上一篇: 上周项目总结一规范Activity与Layout
下一篇: ListView 与Adapter
慕广陵
博客等级 码龄17年 3粉丝 17原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值