版权声明:本文为博主原创文章,未经博主允许不得转载。 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 100
、limit 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 + "')";
}