【SQLite】SQLite篇二

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/It_sharp/article/details/82733075

背景

将普通的SQL语句移植到SQLite上时发现一般和SQL语句写法不同的地方

1、查询自增列最后一次更新的值

场景主要运用于插入数据后获取ID
解决办法:SELECT LAST_INSERT_ROWID() FROM tb_Project

2、插入语句

insert into tb_9_part(ParentID,ExistsFD,PartName,3DModelName,PartOrder,PartNo)
3DModelName处报错,解决办法就是,将字段加上[ ] 区别于一些系统字段防止出现冲突

3、 查询命令Top出错

应用场景是查询前多少条
limit 10 offset 100limit 10,100 两种方式
第一种方式可以查出从第101条到110条数据
第二种方式可以查出第11条到第 101条数据

4、插入时间

https://www.cnblogs.com/huxiaolin/p/4148692.html
在日期保存到Sqlite数据库时转换一个类型,比如:string _now = System.DateTime.Now.ToString(“s”);
也就是说在.ToString()方法中加一个s,即可解决日期读取错误的问题。
因为iso 8601的描述:
http://msdn.microsoft.com/zh-cn/library/ms187819.aspx
给出了字符串示例:

  • 2004-05-23 14:25:10
  • 2004-05-23 14:25:10.487

所以Sqlite保存的日期要转为iso 8601标准字符串格式
使用 日期.ToString(“s”);这种方法转换成 iso 8601标准字符串格式了。

5、查询在某个时间段内的数据

 public override string GetDateStr(string strDate)
 {
       DateTime dt = Convert.ToDateTime(strDate);
       strDate = dt.ToString("s");
       return "DateTime('" + strDate + "')";
 }

猜你喜欢

转载自blog.csdn.net/It_sharp/article/details/82733075