
亲,你的这一句:String sql = "Select WEATHER_ID from city_table where CITY="+ string;
CITY应该是字符串类型的吧?你应该用单引号括起来的,
应该这么写:String sql = "Select WEATHER_ID from city_table where CITY='"+ string+"'";
建议你没遇到sql语句执行问题的时候,能将sql拿出来,放到数据库执行一下,,,希望能帮到你。
首先退出正在运行的所有程序。
定位方法:1、首先sqlite登入数据库,查看数据库内容是否正确,是否是替换了数据库文件但进程未重新加载导致。经检查,排除该可能性。
2、其次查看sqlite3源码执行过程中返回的错误,文件打开失败,open一个文件时失败。出现该错误,一般由于进程的文件描述符耗尽导致,找到了怀疑点。
3、查看 *** 作数据库的进程已占用的文件描述符,一般一个进程最大文件描述符为1023个,假设该进程PID为223,则cd/proc/223/fd;ls-l,可以看到该进程占有所有的文件描述,已达到1023个,资源耗尽,导致再次获取文件描述符失败。一般是由于socket创建后未关闭导致泄漏资源。也可以通过lsof(listopenfiles)命令查看进程已占用了多少文件描述符,对系统的监测和排错有很大的帮助。lsof|grepxxx(进程名)/PID(进程号)查看已占用的文件描述符。
4、执行netstat-a查看所有的连接,发现大量redis数据库连接connected状态,基本锁定连接redis时出现资源泄漏。
5、分析测试场景和相关代码,发现的确存在大量的资源泄漏问题。
以上就是关于sqlite导入外部数据库查询数据查不到怎么办全部的内容,包括:sqlite导入外部数据库查询数据查不到怎么办、sqlite3无法在终端运行、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)