关于SQLite数据库 字段 DateTime 类型

这两天刚接触SQLite 数据库 还没有太过于深入的了解 , 于是出现了一个问题 :

我在 C#中 ,使用SQLiteHelper 查询SQLite数据库数据时,报了这个错误: System.FormatException:“该字符串未被识别为有效的 DateTime。”

在网上查询了一些文章后,我发现sqlite使用标准的时间格式,即 yyyy-mm-dd hh:mm:ss

我之前存储的数据为 2017-7-10 9:25:36

按照标准格式 更改为: 2017-07-10 09:25:36

说白了就是  除了年份是4位数 后面的格式都是2位数 单数时间补0

另外经过亲自测试 2017/07/10 09:25:36 也是不行的 标准格式必须为 yyyy-mm-dd hh:mm:ss

最后我又发现个问题:

在调试C# 程序的时候 调试还没关闭

当调试到这一步报错时 此时调试还未关闭  进行数据库操作时 会无响应 关掉调试 就可以继续操作数据库了

在这里本人用的数据库工具是 SQLiteStudio

这里的出现的问题纯属个人遇到问题之后,并查询资料解决问题,可能解决方案还不够全面,菜鸟一枚,希望能帮助到和我遇到一样问题的小伙伴们,如果有什么更深层次的解决方案以及理解,欢迎大神们评论补充,谢谢!

原文地址:https://www.cnblogs.com/CkkCode/p/11741917.html

时间: 2024-11-10 17:27:20

关于SQLite数据库 字段 DateTime 类型的相关文章

IOS中sqlite数据库利用bold类型存储与读取字典

我在做app收藏时, 发现我的数据有的是字典, 字典怎么向数据库中保存呢? 就看了好多博客, 字典应该利用数据库中的bold类型来保存,可是添加到数据库之后,读取不出来, 为此伤透了脑筋,为了解决这个问题, 花费了好时间. 以前认为bold类型就是用来存放二进制的,可以存放图片等, 而我的数据存到数据库中的确是二进制,所以读的时候全是二进制, 以致不能转换成字典.后来发现我保存数据的方法就是错的, bold类型不仅可以放二进制也可以放数据,简直颠覆了我对bold类型的看法,BLOB,只是一个数据

Android的Sqlite中DateTime类型数据的存取问题

关于讲sqlite中日期类型数据的存取网上有不少,但发现讲得这么细的非常少.更多的是用Date,不用做日期数据统计分析,对存取要求比较小的直接转换成long,即dateTime.getTime()存储.需要在界面上显示的时候就再将long型的日期数据转化为Date或DateTime类型.但是如果要做数据统计分析的话这样每条记录都要遍历转换会显得特别麻烦,数据量大的话时间消费是很大的. 我们知道Date类型数据在数据库中是yyyy-MM-dd形式存的,而Time是HH:mm形式存的.而DateTi

数据库基本常用类型解析

int.bigint.smallint 和 tinyint 使用整数数据的精确数字数据类型. bigint 从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字).存储大小为 8 个字节. int 从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字).存储大小为 4 个字节.int 的 SQL-92 同义字为 integer. ma

Mybatis查询Mysql datetime类型时,相差8小时 解决方案

查出来的数据跟数据库里的数据相差了8个小时,这是为什么呢? 这是因为Mysql 使用系统默认时区,东八区. 而Tomcat java使用UTC时区进行处理业务逻辑. 时区的不同,从而导致Mysql数据库中datetime类型的值查询后转到Java Bean,值多了8个小时. 解决方法 在url后面添加 serverTimezone=Asia/Shanghai : jdbc.url=jdbc:mysql://127.0.0.1:3306/caipiao?useUnicode=true&charac

向数据库中插入一个DateTime类型的数据到一个Date类型的字段中,需要转换类型。TO_DATE('{0}','YYYY-MM-DD'))

需要指出的是,C#中有datetime类型,但是这个类型是包括小时,分钟,秒的.这个格式与数据库中的Date类型不符,如果将now设为datetime类型插入数据会失败. 需要通过TO_DATE('字段','YYYY-MM-DD'))转换.如下: string.Format("insert into tablename (TIME) values(TO_DATE('{0}','YYYY-MM-DD'))",now) 错误写法: string.Format("insert in

SQlite 数据库遇到的问题 “该字符串未被识别为有效的 DateTime”

异常详细信息: System.FormatException: 该字符串未被识别为有效的 DateTime. 解决方案: 在日期保存到Sqlite数据库时转换一个类型,比如:string _now = System.DateTime.Now.ToString("s"); 也就是说在.ToString()方法中加一个s,即可解决日期读取错误的问题. 简单代码示例: string _indate = Request["indate"]; //输入的日期如:2009-2-

Java 通过JDBC查询数据库表结构(字段名称,类型,长度等)

Java 通过JDBC查询数据库表结构(字段名称,类型,长度等) 发布者:唛唛家的豆子 时间:2012-11-20 17:54:02 在JDBCPreparedStatement.executeQuery().getMetaData();后,我们可以通过ResultSetMetaData对象查询返回结果集的源数据信息,也就是表结构信息. 示例代码如下: package astar.sutil.db; import java.sql.Connection; import java.sql.Driv

解决Entity Framework中DateTime类型字段异常

今天把一个使用了Entity Framework的程序从MySql迁移到SqlServer时,发现运行时报了一个异常: System.Data.SqlClient.SqlException: 从 datetime2 数据类型到 datetime 数据类型的转换产生一个超出范围的值. 在网上查找了一下,具体的错误原因是:C#中的DateTime类型比SqlServer中的datetime范围大.SqlServer的datetime有效范围是1753年1月1日到9999年12月31日,如果超出这个范

Django 数据库ORM 操作 - 字段的类型和参数

通过Django的ORM创建表的时候,我们需要定义自己的类. 定义类的时候,他有各种各样的字段类型,每个字段都有自己的参数可以进行配置,下面简单的归纳一下. 首先看看字段的类型.尽管Python提供了近乎20种类型,他转换成数据库表之后,其实本质就是4个类型:字符串,数字,时间和二进制. AutoField(Field)     - int自增列,必须填入参数 primary_key=True BigAutoField(AutoField)     - bigint自增列,必须填入参数 prim