最近在使用C#语言对sqlite轻量级数据库进行操作的过程中,遇到了诸多问题,由于之前一直使用甲骨文的数据库,对sqlite不是太了解,经过查阅资料,把遇到的各种问题做个汇总。
1、在插入数据库过程中,在sqlite执行cmd.executenonquery的时候,直接跳到catch的错误项,提示SQL logic error or missing database 6 values for 4 columns。
遇到这个问题的排查方法:
1)查看数据库的connectionstring的datasource路径是否正确。
2)通过sqlite Studio查看修改数据库后是否保存
3)将该表删除,重新建立该数据库表。
4)在sqlite Studio中尝试插入一条数据,查看能否正常插入
2、在sqlite执行cmd.executenonquery的时候,返回false
遇到这个问题的排查方法:
1)查看你插入的数据列表,是否与数据库中的数据类型一致。
2)是否进行了连接数据库操作
3、在向sqlite中插入图片过程中,执行到filestream.open函数,错误提示,“遇到另一进程正在访问该图片”
遇到这个问题的排查方法:
1)
使用System.IO.FileStream fs = new System.IO.FileStream(fileName,
System.IO.FileMode.Open,System.IO.FileAccess.Read,FileShare.ReadWrite);
设置文件共享方式为读写,FileShare.ReadWrite
此处借鉴的如下博文
CSDN博主「small_Y」的原创原文链接:https://blog.csdn.net/yzl21061/article/details/17399207